PageSourceSearch

https://resources.managementcontrols.com/news-releases-mentions

html managementcontrols.com collected 2026-09-29 09:36:21 UTC 322,547 bytes, 6,795 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    <meta charset="utf-8">
5<meta content="width=device-width, initial-scale=1" name="viewport">
6<meta property="og:type" content="website">
7<meta property="og:title" content="Press Releases & News Articles - Quotes & Mentions">
8<meta property="og:description" content="">
9<meta property="og:image" content="https://cdn.pathfactory.com/images/default.png">
10<meta property="og:url" content="https://resources.managementcontrols.com/news-releases-mentions">
11<meta name="twitter:card" content="summary_large_image">
12<meta name="twitter:title" content="Press Releases & News Articles - Quotes & Mentions">
13<meta name="twitter:description" content="">
14<meta name="twitter:image" content="https://cdn.pathfactory.com/images/default.png">
15<meta name="robots" content="noindex, follow">
16<link rel="canonical" href="https://resources.managementcontrols.com/news-releases-mentions">
17<link rel="icon" type="image/x-icon" href="https://cdn.pathfactory.com/assets/11171/icons/988926/1d6e4a36-5d7d-49a0-b85c-57002699c939.png">
18<title> Press Releases & News Articles - Quotes & Mentions </title>
19<meta name="description" content="">
20
21
22
23
24
25<script>
26  const jukeboxApiHost = "https://jukebox.pathfactory.com";
27  const clientId = "LB-A955EE42-11171";
28  function pfCamelize(str) {
29  return str.replace(/(_\w)/g, function (match) {
30    return match[1].toUpperCase();
31  });
32}
33
34const pfPluralize = (word) => word.endsWith('s') ? word : word + 's';
35
36const pfFilterKeys = (obj, validKeys) => validKeys.reduce((acc, key) => {
37  if (key in obj) acc[key] = obj[key];
38  return acc
39}, {});
40
41function pfUpdateUrlParams(url, params) {
42  const urlObj = new URL(url, window.location.origin);
43  const searchParams = urlObj.searchParams;
44
45  Object.entries(params).forEach(([key, values]) => {
46    if (Array.isArray(values) && values.length > 0) {
47      searchParams.set(key, values.join(","));
48    } else if (["string", "number"].includes(typeof values)) {
49      searchParams.set(key, values);
50    }else {
51      searchParams.delete(key);
52    }
53  });
54
55  urlObj.search = searchParams.toString();
56  return urlObj.toString();
57}
58
59
60const convertToQueryParams = (paramObject) => {
61  const keys = Object.keys(paramObject);
62  const keyValuePairs = keys.filter(k => paramObject[k].length).map(key => {
63    return key + '=' + paramObject[key];
64  });
65  return keyValuePairs.join('&');
66}
67
68const pfWaitForVidCookie = () =>
69  new Promise((resolve) => {
70    const visitorId = pfGetCookie("vid");
71    if (visitorId) {
72      resolve(visitorId);
73      return;
74    }
75
76    const interval = setInterval(() => {
77      const visitorId = pfGetCookie("vid");
78
79      if (visitorId) {
80        clearInterval(interval);
81        clearTimeout(timeout);
82        resolve(visitorId);
83      }
84    }, 200);
85
86    const timeout = setTimeout(() => {
87      clearInterval(interval);
88      resolve(null);
89    }, 3000);
90  });
91
92function fetchKsToken(clientId, baseUrl) {
93  if (!clientId || !baseUrl) {
94    return Promise.resolve(null);
95  }
96
97  if (typeof window.ksValue !== "undefined") {
98    return Promise.resolve(window.ksValue);
99  }
100
101  if (window.__pfKsTokenPromise) {
102    return window.__pfKsTokenPromise;
103  }
104
105  window.__pfKsTokenPromise = pfWaitForVidCookie().then((visitorId) => {
106    if (!visitorId) {
107      return null;
108    }
109
110    return fetch(`${baseUrl}/api/public/v3/kaltura_accounts/generate_ks_token`, {
111      method: "POST",
112      credentials: "include",
113      headers: {
114        "Content-Type": "application/json",
115        Accept: "application/json"
116      },
117      body: JSON.stringify({
118        client_id: clientId,
119        user_id: visitorId
120      })
121    }).then((response) => {
122      if (!response.ok) {
123        return null;
124      }
125      return response.json().then((data) => data?.ks || null).catch(() => null);
126    }).catch(() => null);
127  }).then((ks) => {
128    window.ksValue = ks;
129    return ks;
130  }).finally(() => {
131    delete window.__pfKsTokenPromise;
132  });
133
134  return window.__pfKsTokenPromise;
135}
136
137</script>
137
138
139
140<script>
141  let dimensions = [];
142  
143    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},{"label":"General","value":"general","is_default":false},{"label":"Buying Stage","value":"buying_stage","is_default":false},{"label":"Industry","value":"industry","is_default":false},{"label":"Role","value":"role","is_default":false},{"label":"Topic","value":"topic","is_default":false},{"label":"Product","value":"product","is_default":false},{"label":"Services","value":"services","is_default":false},{"label":"Events","value":"events","is_default":false},{"label":"I am....","value":"relationship","is_default":false},{"label":"By Role","value":"by_role","is_default":false},{"label":"I am...","value":"i_am","is_default":false}]` ? 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},{"label":"General","value":"general","is_default":false},{"label":"Buying Stage","value":"buying_stage","is_default":false},{"label":"Industry","value":"industry","is_default":false},{"label":"Role","value":"role","is_default":false},{"label":"Topic","value":"topic","is_default":false},{"label":"Product","value":"product","is_default":false},{"label":"Services","value":"services","is_default":false},{"label":"Events","value":"events","is_default":false},{"label":"I am....","value":"relationship","is_default":false},{"label":"By Role","value":"by_role","is_default":false},{"label":"I am...","value":"i_am","is_default":false}]`) : []
144  
145  const contentTagCategories = dimensions;
146  const customCategories = contentTagCategories?.filter(item => item?.is_default === false) || [];
147  const customCategoryKeys = customCategories.map(item => item.value);
148  const DIMENSION_FILTER_TYPES = [
149    "business_units",
150    "funnel_stages",
151    "industries",
152    "personas",
153    "products",
154    "solutions",
155    "topics",
156    ...customCategoryKeys
157  ];
158  const NON_DIMENSION_FILTER_TYPES = [
159    "languages",
160    "content_types"
161  ];
162  const PF_FILTER_TYPES = [
163    ...NON_DIMENSION_FILTER_TYPES,
164    ...DIMENSION_FILTER_TYPES
165  ];
166</script>
166
167
168
169<script>
170  function pfDebounce(func, timeout = 500){
171    let timer;
172    return (...args) => {
173      clearTimeout(timer);
174      timer = setTimeout(() => { func.apply(this, args); }, timeout);
175    };
176  }
177
178  function pfGetCookie(namePattern){
179    const cookies = document.cookie.split("; ");
180    const cookie = cookies.find((cookie) => {
181      const cookieName = cookie.split("=")[0];
182      return !!cookieName.match(namePattern)
183    }) || "";
184    return cookie.split("=")[1];
185  }
186</script>
186
187
188
189
190
191
192
193
194
195
196
197<script src="https://cdn.pathfactory.com/templated-experiences/glide.js"></script>
197
198
199
200<link rel="stylesheet" href="https://cdn.pathfactory.com/templated-experiences/glide.core.css">
201<link rel="stylesheet" href="https://cdn.pathfactory.com/templated-experiences/glide.theme.css">
202
203
204<script defer src="https://cdn.pathfactory.com/templated-experiences/alpine.js"></script>
204
205
206
207
208  
208<script src="https://cdn.pathfactory.com/templated-experiences/values.js"></script>
208
209
210
211
212
213  
214  
214<script src="https://cdn.pathfactory.com/templated-experiences/brightcove-player-loader.min.js"></script>
214
215  
215<script src="https://cdn.pathfactory.com/templated-experiences/reactplayer.standalone.js"></script>
215
216  
216<script src="https://cdn.pathfactory.com/templated-experiences/youtube-iframe-api.js"></script>
216
217  
217<script src="https://cdn.pathfactory.com/templated-experiences/vimeo-player.js"></script>
217
218  
218<script src="https://cdn.pathfactory.com/templated-experiences/vidyard-embed-v4.js"></script>
218
219  
219<script src="https://cdn.pathfactory.com/templated-experiences/wistia-e-v1.js"></script>
219
220  
220<script defer src="https://cdn.pathfactory.com/templated-experiences/parmonic-aw-single.js"></script>
220
221  
221<script defer src="https://cdn.pathfactory.com/templated-experiences/parmonic-aw-init.js"></script>
221
222
223
224
225<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css">
226
227
228
229  
229<script>
230    var primaryColor = new Values("#ff9933");
231    var primaryShades = primaryColor.all(18).map((shade) => shade.hexString());
232    let sectionPadding = "px-[0px] sm:px-[0px] py-[0px] sm:py-[0px]";
233      if (true) {
234        sectionPadding = "py-12 px-4 sm:px-6 lg:py-16 lg:px-8";
235      };
236    window.__unocss = {
237      theme: {
238        colors: {
239          primary: {
240            DEFAULT: primaryShades[5],
241            50: primaryShades[0],
242            100: primaryShades[1],
243            200: primaryShades[2],
244            300: primaryShades[3],
245            400: primaryShades[4],
246            500: primaryShades[5],
247            600: primaryShades[6],
248            700: primaryShades[7],
249            800: primaryShades[8],
250            900: primaryShades[9]
251          },
252          on: {
253            primary: "#ffffff"
254          }
255        }
256      },
257      shortcuts: {
258        "section-display": "flex justify-center mx-auto",
259        "section-padding": `${sectionPadding} flex justify-center mx-auto`,
260        "section-base": "container",
261        "section-heading": "text-3xl font-bold leading-tight tracking-tight text-gray-900 md:text-4xl",
262        "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",
263        "btn-lg": "px-6 py-4",
264        "btn-md": "px-4 py-2",
265        "btn-sm": "px-2 py-1",
266        "btn-primary": "bg-primary-500 border-primary-500 text-on-primary hover:bg-primary-600 focus:ring-primary-500",
267        "btn-outline": "text-gray-800 bg-white border border-gray-400 hover:bg-gray-200 focus:ring-gray-200"
268      }
269    };
270  </script>
270
271
272
273
274
275  <style>
276    [un-cloak] {
277      display: none;
278    }
279  </style>
280  
280<script defer src="https://cdn.pathfactory.com/templated-experiences/attributify.global.js"></script>
280
281
282
283
284
285  
285<script src="https://cdn.pathfactory.com/templated-experiences/tailwind.js"></script>
285
286
287
288
289<script>
290  function pfInitOzmenu(sectionClass) {
291    const section = document.querySelector(`.${sectionClass}`);
292
293    if (!section) return;
294
295    const openMenu = section.querySelector(".menu-open");
296    const closeMenu = section.querySelector(".menu-close");
297    const menuDiv = section.querySelector(".ozmenu");
298    const menu = section.querySelector(".ozmenu-nav");
299
300    if (!openMenu || !closeMenu || !menuDiv || !menu) return;
301
302    const dropDowns = menu.getElementsByClassName("nav-dropdown");
303    const dropDownsChild = menu.querySelectorAll('.dropdown .nav-dropdown');
304    const ozmenuOverlayClass = `ozmenu-${sectionClass}`;
305
306    openMenu.addEventListener("click", menuToggle);
307    closeMenu.addEventListener("click", menuToggle);
308
309    // menu-overlay covers up the rest of the page with an overlay when menu open
310    if (!document.querySelector(`.${ozmenuOverlayClass}#menu-overlay`)) {
311      document.body.insertAdjacentHTML("beforeend", `<div id='menu-overlay' class='${ozmenuOverlayClass}'></div>`);
312      document.querySelector(`.${ozmenuOverlayClass}#menu-overlay`).addEventListener("click", menuToggle);
313    }
314
315    function menuToggle() {
316      menuDiv.classList.toggle("active");
317      document.body.classList.toggle("hide-scrolling");
318      document.body.classList.toggle("mobile-menu-active");
319      document.querySelector(`.${ozmenuOverlayClass}#menu-overlay`).classList.toggle("show");
320      document.querySelectorAll(".pf-header").forEach((header) => {
321        if (!header.contains(openMenu)) {
322          header.classList.toggle("z-[10000]");
323        }
324      });
325    }
326
327    for (var i = 0; i < dropDownsChild.length; i++) {
328      dropDownsChild[i].classList.add('child');
329      dropDownsChild[i].addEventListener("click", function() {
330        this.classList.toggle('opened');
331      });
332    }
333    for (var i = 0; i < dropDowns.length; i++) {
334      if(!dropDowns[i].classList.contains("child")){
335        dropDowns[i].classList.add('parent');
336        dropDowns[i].addEventListener("click", function() {
337          this.classList.toggle('opened');
338        });
339      }
340    }
341  };
342
343  function pfOzmenuCycleFocus(sectionClass) {
344    const pfOzmenu = document.querySelector(`.${sectionClass} .ozmenu`);
345    const focusableElements = pfOzmenu.querySelectorAll("a, button, input");
346    const firstFocusableEl = focusableElements[0];
347    const lastFocusableEl = focusableElements[focusableElements.length - 1];
348    pfOzmenu.addEventListener("keydown", (e) => {
349      if (!window.matchMedia('(max-width: 993px)').matches) return;
350      
351      if (e.key === "Tab") {
352        if ( e.shiftKey ) /* shift + tab */ {
353          if (document.activeElement === firstFocusableEl) {
354            lastFocusableEl.focus();
355            e.preventDefault();
356          }
357        } else /* tab */ {
358          if (document.activeElement === lastFocusableEl) {
359            firstFocusableEl.focus();
360            e.preventDefault();
361          }
362        }
363      }
364    });
365  }
366
367  function pfOzmenuEscClose(sectionClass) {
368    document.addEventListener("keydown", (e) => {
369      const pfOzmenu = document.querySelector(`.${sectionClass} .ozmenu`);
370      if (e.key === "Escape" && pfOzmenu.classList.contains("active")) {
371        document.querySelector(`.${sectionClass} .menu-close`).click();
372      }
373      if (!window.matchMedia('(max-width: 993px)').matches) {
374        if (event.key === 'Escape') {
375          document.querySelectorAll('.dropdown').forEach((dropdown) => {
376            dropdown.style.display = 'none';
377          });
378        }
379      };
380    });
381  }
382</script>
382
383
384<script>
385  document.addEventListener("DOMContentLoaded", () => {
386    document.querySelectorAll(".pf-header").forEach((header) => {
387      const nodeId = header.dataset.pfThemeBlockId;
388      const sectionClass = `section-${nodeId || ""}`;
389      pfInitOzmenu(sectionClass);
390    });
391  });
392</script>
392
393<link rel="stylesheet" href="https://cdn.pathfactory.com/templated-experiences/ozmenu-styles.css">
394
395
396  
397  
397<script src="https://cdn-app.pathfactory.com/libraries/overlay/overlay.js"></script>
397
398  <link href="https://cdn-app.pathfactory.com/libraries/overlay/overlay.css" rel="stylesheet" type="text/css">
399
400
401
402<script defer>
403  window.pfGlides = {};
404  window.carouselConfiguration = {};
405  window.pfGlideAssets = {};
406  const detectGlideAndMount = (count = 0) => {
407    const glides = document.querySelectorAll(".glide");
408    if (glides.length === 0 && count <= 20) {
409      setTimeout(() => detectGlideAndMount(count + 1), 1000);
410    } else {
411      glides.forEach((glide) => {
412        const glideSlides = window.pfGlideAssets[glide?.dataset?.carouselGlideId] || [];
413        if (glideSlides.length === 0) {
414          window.pfGlideAssets[glide?.dataset?.carouselGlideId] = glide.querySelectorAll(".asset");
415        }
416        window.carouselConfiguration[glide?.dataset?.carouselGlideId] = {
417          type: "slider",
418          animationDuration: 1000,
419          autoplay: glide.dataset.autoplay === "no"
420            ? false
421            : glide.dataset.autoplayInterval * 1000,
422          gap: glide.dataset.gap || 0,
423          perView: glide.dataset.tilesPerRow,
424          peek: glide.dataset.peek || 0,
425          breakpoints: {
426            640: {
427              perView: 1
428            },
429            1024: {
430              perView: glide.dataset.tilesPerRow === "1" ? 1 : 2
431            }
432          }
433        };
434        window.pfGlides[glide.dataset.carouselGlideId] = new Glide(glide, window.carouselConfiguration[glide?.dataset?.carouselGlideId]);
435        window.pfGlides[glide.dataset.carouselGlideId].on(['mount.after', 'run'], () => {
436          const bullets = glide.querySelectorAll('.glide__bullet');
437          const slides = glide.querySelectorAll('.glide__slide');
438          const activeIndex = window.pfGlides[glide.dataset.carouselGlideId].index;
439          // Dynamically get perView based on the current screen width
440          const viewportWidth = window.innerWidth;
441          let perView = parseInt(glide.dataset.tilesPerRow, 10);
442          if (viewportWidth <= 640) 
443            perView = 1;
444          else if (viewportWidth <= 1024) 
445            perView = Math.min(perView, 2);
446          const totalSlides = slides.length;
447          bullets.forEach((bullet, index) => {
448            bullet.setAttribute('aria-current', index === activeIndex);
449            bullet.setAttribute("tabindex", bullet.classList.contains("glide__bullet--between") ? "-1" : "0");
450          });
451          slides.forEach((slide, index) => {
452            const isVisible =
453              activeIndex + perView <= totalSlides
454                ? index >= activeIndex && index < activeIndex + perView
455                : index >= activeIndex && index < totalSlides;
456            slide.setAttribute('aria-hidden', !isVisible);
457            const slideButtons = slide.querySelectorAll("button, a");
458            slideButtons.forEach(button => {
459              button.setAttribute("tabindex", isVisible ? "0" : "-1");
460            });
461          });
462        });
463        window.pfGlides[glide.dataset.carouselGlideId].mount();
464      });
465      for (let count = 0; count < 10; count++) {
466        setTimeout(() => window.dispatchEvent(new Event('resize')), 500 * count);
467      }
468    }
469  }
470  document.addEventListener("DOMContentLoaded", () => {
471    detectGlideAndMount();
472  });
473</script>
473
474
475
476
477
478
479<script>
480  
481
482async function pfFetchFilters(sectionNodeId) {
483  const isContentPage = false;
484  const urlParams = new URLSearchParams(window.location.search);
485  const sectionSelector = `.section-${sectionNodeId}`;
486  const contentPlayUuid = urlParams.get("pf_cpid");
487  const campaignUuid = urlParams.get("pf_cid");
488  const landingPageId = "47377" || urlParams.get("pflpid");
489  const lpSectionNodeId = isContentPage ? urlParams.get("pfsid") : sectionNodeId;
490  const segmentGroupId = "";
491  const contentPageParams = isContentPage ? {
492    isContentPage: true,
493    contentSource: "experience",
494    templatedExperienceId: "11083"
495  } : {};
496  const apiUrl = new URL(`${jukeboxApiHost}/api/public/v3/get_filter_options`);
497  const params = {
498    ...contentPageParams,
499    landingPageId,
500    sectionNodeId: lpSectionNodeId,
501    clientId,
502    segmentGroupId,
503    pf_cpid: contentPlayUuid,
504    pf_cid: campaignUuid
505  };
506  apiUrl.search = new URLSearchParams(params);
507
508  const response = await fetch(apiUrl);
509  const result = await response.json();
510  
511  return result;
512}
513
514function pfBuildFilters({
515  filters = {},
516  sectionSelector,
517  sectionNodeId,
518  fetchCurrentParams,
519  handleParamsChange
520}) {
521  // The following classes must be present
522  const allFiltersContainerClass = "pf-resource-center-filters";
523  const filterOptionClass = "pf-options";
524  const templateClass = "pf-template";
525  const optionLabelClass = "pf-label";
526  const optionCheckboxClass = "pf-checkbox";
527  const clearOptionsClass = "pf-clear-options";
528  const clearOptionsClassAlt = "pf-clear-checked_filters-selector";
529  const clearAllClass = "clear-all-filters";
530  const optionsWrapperSelector = (filterType) => {
531    let selector = `.pf-options-wrapper-${filterType}`;
532    if (["languages", "content_types"].includes(filterType)) {
533      const filterTypeSingular = filterType.replace(/s$/, "");
534      selector += `, .pf-options-wrapper-${filterTypeSingular}`;
535    }
536    return selector;
537  };
538  const filterSelector = (filterType) => {
539    let selector = `.select-${filterType}`;
540    if (["languages", "content_types"].includes(filterType)) {
541      const filterTypeSingular = filterType.replace(/s$/, "");
542      selector += `, .select-${filterTypeSingular}`;
543    }
544    return selector;
545  };
546
547  const section = document.querySelector(sectionSelector);
548
549  // This should handle for both mobile and desktop, hence there's more than 1 allFiltersContainerClass
550  section.querySelectorAll(`.${allFiltersContainerClass}`).forEach((filtersWrapper) => {
551    const filterOptionTemplate = filtersWrapper.querySelector(`.${filterOptionClass}.${templateClass}`);
552    const clearAllFilters = filtersWrapper.querySelector(`.${clearAllClass}`);
553
554    if (clearAllFilters) {
555      clearAllFilters.addEventListener("click", (e) => {
556        e.stopPropagation();
557        const updates = {};
558        PF_FILTER_TYPES.forEach((ft) => { updates[ft] = [] });
559        handleParamsChange(updates);
560      });
561    }
562
563    PF_FILTER_TYPES.forEach((filterType) => {
564      const filterContainer = filtersWrapper.querySelector(filterSelector(filterType));
565      const optionsWrapper = filtersWrapper.querySelector(optionsWrapperSelector(filterType));
566      const clearOptionsButtons = filterContainer?.querySelectorAll(`.${clearOptionsClass}, .${clearOptionsClassAlt}`) || [];
567
568      if (!optionsWrapper || !filterContainer) return;
569
570      const filterOptionsAvailable = NON_DIMENSION_FILTER_TYPES.includes(filterType)
571        ? (filters[pfCamelize(filterType)] || []).length > 0
572        : (filters.dimensions[filterType] || []).length > 0;
573
574      if (!filterOptionsAvailable) {
575        filterContainer.style.display = "none";
576      } else {
577        filterContainer.style.display = "";
578        optionsWrapper.innerHTML = "";
579        options = NON_DIMENSION_FILTER_TYPES.includes(filterType)
580          ? filters[pfCamelize(filterType)]
581          : filters.dimensions[filterType];
582        options.forEach((option) => {
583          const optionNode = filterOptionTemplate.cloneNode(true);
584          const optionLabel = optionNode.querySelector(`.${optionLabelClass}`);
585          const optionCheckbox = optionNode.querySelector(`.${optionCheckboxClass}`);
586          const screenType = optionNode.querySelector(".pf-checkbox")?.getAttribute("data-screen");
587          const labelSlug = option.label.replace(/\s/g, "");
588          const idPrefix =
589            screenType && screenType === "desktop"
590              ? `${filterType}-${labelSlug}-desktop`
591              : `${filterType}-${labelSlug}`;
592          optionNode.style.display = "";
593          optionLabel.textContent = option.label;
594          optionLabel.setAttribute("for", `${idPrefix}-${[sectionNodeId]}`);
595          optionCheckbox.id = `${idPrefix}-${[sectionNodeId]}`;
596          optionCheckbox.name = option.value;
597          optionCheckbox.dataset.label = option.label;
598          optionCheckbox.addEventListener("change", (event) => {
599            const currentParams = fetchCurrentParams() || {};
600            const currentTypeCheckedValues = currentParams[filterType] || [];
601            const newCurrentTypeCheckedValues =
602              event.target.checked
603                ? [...currentTypeCheckedValues, option.value]
604                : currentTypeCheckedValues.filter(x => x !== option.value);
605            const updateParams = { [filterType]: newCurrentTypeCheckedValues };
606            handleParamsChange(updateParams);
607          });
608          optionsWrapper.appendChild(optionNode);
609        });
610
611        clearOptionsButtons.forEach((clearOptionsButton) => {
612          clearOptionsButton.addEventListener("click", (e) => {
613            e.stopPropagation();
614            handleParamsChange({ [filterType]: [] });
615          });
616        });
617      }
618    });
619  });
620}
621
622function pfAddPaginationEvents({
623  sectionSelector,
624  contentsPerPage,
625  handleParamsChange,
626  fetchTotalContents,
627  fetchCurrentParams
628}) {
629  // If lazy loading, need either of these classes
630  const lazyLoadClass = "pf-lazy-load-button";
631  const scrollXContainerClass = "pf-bottombar-scroller";
632  // If pagination, need these classes
633  const previousButtonClass = "pf-pagination-item-previous";
634  const nextButtonClass = "pf-pagination-item-next";
635  const pageButtonClass = "pf-pagination-item";
636
637  const section = document.querySelector(sectionSelector);
638  const lazyLoadButton = section.querySelector(`.${lazyLoadClass}`);
639  const scrollXContainer = section.querySelector(`.${scrollXContainerClass}`);
640  const previousButton = section.querySelector(`.${previousButtonClass}`);
641  const nextButton = section.querySelector(`.${nextButtonClass}`);
642  const pageButtons = section.querySelectorAll(`.${pageButtonClass}`);
643
644  if (lazyLoadButton) {
645    lazyLoadButton.addEventListener("click", () => {
646      const currentPage = fetchCurrentParams().page || 1;
647      const nextPage = currentPage + 1;
648      handleParamsChange({ page: nextPage }, "lazy_load");
649    });
650  }
651
652  if (scrollXContainer) {
653    scrollXContainer.addEventListener("scroll", pfDebounce((event) => {
654      const scrollableWidth = event.target.scrollWidth - event.target.clientWidth;
655      const fullyScrolledToRight = event.target.scrollLeft >= scrollableWidth - 1;
656      const totalContents = fetchTotalContents();
657      const totalPages = Math.ceil(totalContents / contentsPerPage);
658      const currentPage = fetchCurrentParams().page || 1;
659      const morePagesToLoad = currentPage < totalPages;
660
661      if (fullyScrolledToRight && morePagesToLoad) {
662        const nextPage = currentPage + 1;
663        handleParamsChange({ page: nextPage }, "lazy_load");
664      }
665    }, 500));
666  }
667
668  if (previousButton) {
669    previousButton.addEventListener("click", (event) => {
670      const currentPage = fetchCurrentParams().page || 1;
671      const newPage = Math.max(currentPage - 1, 1);
672      handleParamsChange({ page: newPage });
673    });
674  }
675  
676  if (nextButton) {
677    nextButton.addEventListener("click", (event) => {
678      const currentPage = fetchCurrentParams().page || 1;
679      const totalContents = fetchTotalContents();
680      const totalPages = Math.ceil(totalContents / contentsPerPage);
681      const newPage = Math.min(currentPage + 1, totalPages);
682      handleParamsChange({ page: newPage });
683    });
684  }
685
686  pageButtons.forEach((pageButton, index) => {
687    pageButton.addEventListener("click", (event) => {
688      if (pageButton.textContent === "...") return;
689
690      const newPage = parseInt(pageButton.textContent);
691      handleParamsChange({ page: newPage });
692    });
693  });
694}
695
696function pfAddSearchEvent({ sectionSelector, handleParamsChange }) {
697  // The following classes are required
698  const searchInputClass = "pf-content-list-search";
699
700  const section = document.querySelector(sectionSelector);
701  const searchInput = section?.querySelector(`.${searchInputClass}`);
702  searchInput?.addEventListener("input", pfDebounce((event) => {
703    handleParamsChange({ search: event.target.value });
704  }), 1000);
705}
706
707function pfAddSortEvents({ sectionSelector, handleParamsChange }) {
708  // The following classes are required
709  const sortContainerClass = "pf-sort";
710  const optionClass = "pf-sort-selection";
711  const clearOptionsClass = "clear-options";
712  const labelSelector = "button";
713
714  const section = document.querySelector(sectionSelector);
715  const sortContainer = section?.querySelector(`.${sortContainerClass}`);
716  const label = sortContainer?.querySelector(labelSelector);
717  const clearSortButton = sortContainer?.querySelector(`.${clearOptionsClass}`);
718  const options = sortContainer?.querySelectorAll(`.${optionClass}`) || [];
719
720  clearSortButton?.addEventListener("click", (event) => {
721    event.stopPropagation();
722    
723    label.textContent = "Sort by...";
724    sortContainer.click(); // closes the dropdown
725    handleParamsChange({ sort: "" });
726  });
727
728  options.forEach((option) => {
729    option.addEventListener("click", (event) => {
730      label.textContent = `${event.target.innerHTML}`;
731      sortContainer.click(); // closes the dropdown
732      handleParamsChange({ sort: event.target.dataset.value });
733    });
734  });
735}
736
737function pfUpdateFilters({ sectionSelector, params }) {
738  // All of the following classes need to be present
739  const optionsCountClass = "pf-selected-options-count";
740  const checkboxClass = "pf-checkbox";
741  const totalCountClass = "pf-total-checked-filters-count"; // optional
742  const filterSelector = (type) => {
743    let filterTypeSelector = `.select-${type}`;
744
745    if (["languages", "content_types"].includes(type)) {
746      const filterTypeSingular = type.replace(/s$/, "");
747      filterTypeSelector += `, .select-${filterTypeSingular}`
748    }
749    
750    return filterTypeSelector;
751  };
752
753  const section = document.querySelector(sectionSelector);
754
755  if (!section) return;
756
757  // Update checked filters count for that filter type
758  PF_FILTER_TYPES.forEach((filterType) => {
759    const filterTypeSelector = filterSelector(filterType);
760    section.querySelectorAll(filterTypeSelector).forEach((filterTypeWrapper) => {
761      const filterCountNode = filterTypeWrapper.querySelector(`.${optionsCountClass}`);
762      const checkedIdsForType = params[filterType] || [];
763      const checkedFiltersCount = checkedIdsForType.length;
764      filterCountNode.textContent = checkedFiltersCount || "";
765      filterCountNode.style.display = checkedFiltersCount > 0 ? "inline-block" : "none";
766
767      // Ensure the checkboxes are correctly checked or unchecked
768      const checkboxes = filterTypeWrapper.querySelectorAll(`.${checkboxClass}`);
769      checkboxes.forEach((checkbox) => {
770        const checkboxFilterId = parseInt(checkbox.name);
771        checkbox.checked = checkedIdsForType.includes(checkboxFilterId);
772      });
773    });
774  });
775
776  // Update overall total checked filters count if applicable
777  section.querySelectorAll(`.${totalCountClass}`).forEach((overallFiltersCountNode) => {
778    const totalCheckedFilters = (params.content_types || []).length
779      + (params.languages || []).length
780      + (params.dimensions || []).flat().length;
781    if (overallFiltersCountNode) {
782      overallFiltersCountNode.textContent = totalCheckedFilters || "";
783      overallFiltersCountNode.style.display = totalCheckedFilters > 0 ? "" : "none";
784    }
785  });
786}
787
788function pfGeneratePageOptions({ page, totalPages, maxSlots = 7 }) {
789  let pageOptions = [];
790  if (totalPages <= maxSlots) {
791    for (let i = 1; i <= totalPages; i++) {
792      pageOptions.push(i);
793    }
794  } else {
795    pageOptions = [page];
796    let pagesSlotted = 1;
797    for (let i = 1; pagesSlotted < maxSlots; i++) {
798      const leadingPage = page - i;
799      const trailingPage = page + i;
800      if (leadingPage >= 1) {
801        pageOptions = [leadingPage, ...pageOptions];
802        pagesSlotted++;
803      }
804      if (trailingPage <= totalPages) {
805        pageOptions = [...pageOptions, trailingPage];
806        pagesSlotted++;
807      }
808    }
809    if (pageOptions[0] !== 1) {
810      pageOptions[0] = 1;
811    }
812    if (pageOptions[pageOptions.length - 1] !== totalPages) {
813      pageOptions[pageOptions.length - 1] = totalPages;
814    }
815    if (pageOptions[1] > 2) {
816      pageOptions[1] = "...";
817    }
818    if (pageOptions[pageOptions.length - 2] < totalPages - 1) {
819      pageOptions[pageOptions.length - 2] = "...";
820    }
821  }
822
823  return pageOptions;
824}
825
826function pfUpdatePagination({
827  sectionSelector,
828  params,
829  totalContents,
830  currentContents = [],
831  contentsPerPage
832}) {
833  // The following classes are needed if lazy loading
834  const lazyLoadClass = "pf-lazy-load-button";
835  // The following classes are needed if paginated
836  const nextClass = "pf-pagination-item-next";
837  const previousClass = "pf-pagination-item-previous";
838  const pageNumberClass = "pf-pagination-item";
839
840  const currentPage = params.page || 1;
841  const totalPages = Math.ceil(totalContents / contentsPerPage);
842  const pageNumbers = pfGeneratePageOptions({ page: currentPage, totalPages });
843  const section = document.querySelector(sectionSelector);
844  const lazyLoadButton  = section.querySelector(`.${lazyLoadClass}`);
845  const nextButton = section.querySelector(`.${nextClass}`);
846  const prevButton = section.querySelector(`.${previousClass}`);
847  const contentsLoaded = currentContents.length;
848  const allContentsLoaded = contentsLoaded === totalContents;
849
850  if (lazyLoadButton) {
851    if (totalPages === currentPage || totalContents === 0 || allContentsLoaded) {
852      lazyLoadButton.style.display = "none";
853    } else {
854      lazyLoadButton.style.display = "";
855    }
856  }
857  
858  if (prevButton && nextButton) {
859    if (currentPage == 1 || totalContents == 0) {
860      prevButton.setAttribute("aria-disabled", true);
861      prevButton.style.display = "none";
862    } else {
863      prevButton.setAttribute("aria-disabled", false);
864      prevButton.style.display = "";
865    }
866
867    if (currentPage == totalPages || totalContents == 0) {
868      nextButton.setAttribute("aria-disabled", true);
869      nextButton.style.display = "none";
870    } else {
871      nextButton.setAttribute("aria-disabled", false);
872      nextButton.style.display = "";
873    }
874  }
875
876  const activePageClasses = "flex rounded-full items-center justify-center bg-[#ff9933] text-[#ffffff] w-7 h-7".split(' ');     
877  section.querySelectorAll(`.${pageNumberClass}`).forEach((pageNumber, index) => {
878    pageNumber.textContent = pageNumbers[index];
879    pageNumber.style.display = "";
880
881    if (pageNumbers[index] !== "...") {
882      pageNumber.setAttribute("aria-label", `Page ${pageNumbers[index]} of recommended assets`);
883    }
884
885    if (pageNumbers[index] === currentPage) {
886      pageNumber.classList.add(...activePageClasses);
887      pageNumber.setAttribute("aria-current", "page");
888    } else {
889      pageNumber.classList.remove(...activePageClasses);
890      pageNumber.removeAttribute("aria-current");
891    }
892      
893    if (index + 1 > pageNumbers.length || (allContentsLoaded && index > 0)) {
894      pageNumber.style.display = "none";
895    }
896  });
897}
898
899function pfApplyQueryParams({ handleParamsChange, filtersConfig = {}, enabledFilters = [] }) {
900  const isContentPage = false;
901  const queryParamsApi = new URLSearchParams(window.location.search);
902  const allQueryParams = Object.fromEntries(queryParamsApi);
903  const validParamsList = ["page"].concat(
904    enabledFilters.map((ef) =>
905      ["language", "content_type"].includes(ef) ? pfPluralize(ef) : ef
906    )
907  );
908  const queryParams = pfFilterKeys(allQueryParams, validParamsList);
909  queryParams.page = parseInt(queryParams.page || "1");
910
911  if (Object.keys(queryParams).length === 0) return;
912
913  // convert param values to ids. Will work for any language
914  Object.keys(queryParams).forEach((param) => {
915    if (PF_FILTER_TYPES.includes(param)) {
916      const filterLabels = (queryParams[param] || "").split(",");
917      const filterIds = filterLabels.map((label) => {
918        const filterOption = (filtersConfig[param] || filtersConfig[pfCamelize(param)] || [])
919          .find((filterOption) => filterOption.label == label);
920        return filterOption?.value;
921      }).filter((id) => id != undefined);
922      queryParams[param] = filterIds;
923    }
924  });
925
926  if (Object.keys(queryParams).length == 1 && queryParams.page == 1) return;
927
928  handleParamsChange(queryParams, "page_load");
929}
930
931
932  
933
934async function pfFetchContents({
935  sectionNodeId = "",
936  params = {},
937  loadedContentUuids = [],
938  contentsPerPage = 0,
939  fetchType = "currentPage" // valid values: currentPage, upToPage
940}) {
941  const apiUrl = `https://jukebox.pathfactory.com/api/public/v3/get_contents/${window.location.search}`;
942  const urlParams = new URLSearchParams(window.location.search);
943  const isContentPage = false;
944  const landingPageId = isContentPage ? urlParams.get("pflpid") : "47377";
945  const lpSectionNodeId = isContentPage ? urlParams.get("pfsid") : sectionNodeId;
946  const body = {
947    ...params,
948    landingPageId,
949    sectionNodeId: lpSectionNodeId,
950    clientId: "LB-A955EE42-11171",
951    baseUrl: "https://resources.managementcontrols.com",
952    visitorUuid: pfGetCookie("vid"),
953    sessionId: (pfGetCookie(/_pf_id.+/) || "").split(".")[5],
954    segmentGroupId: "",
955    loadedContentUuids: params.page === 1 ? [] : loadedContentUuids,
956    // needed by content page
957    isContentPage: false,
958    templatedExperienceId: "11083" || undefined,
959    contentSource: "experience" || undefined
960  };
961
962  if (fetchType === "upToPage") {
963    body.page = 1;
964    body.limit = (params.page || 1) * contentsPerPage;
965  }
966
967  const response = await fetch(apiUrl, {
968    method: "POST",
969    headers: { "Content-Type": "application/json" },
970    body: JSON.stringify(body)
971  });
972  const result = await response.json();
973
974  return result;
975}
976
977function pfBuildCards({
978  sectionSelector = "",
979  contents = [],
980  isLazyLoad = false,
981  currentParams = {},
982  isCarousel = false
983}) {
984  // Either of these wrapper classes are needed
985  const contentsWrapperClass = "pf-resource-center-cards-wrapper";
986  const sidebarContentsWrapperClass = "pf-cards-wrapper";
987  // The following classes are needed
988  const cardClass = "pf-content-card";
989  const templateClass = "template";
990  const titleClass = "pf-content-card-title";
991  const linkClass = "pf-content-card-link";
992  // The following classes are optional
993  const descriptionClass = "pf-content-card-description";
994  const cardCtaClass = "pf-content-card-cta";
995  const thumbnailClass = "pf-content-card-thumbnail";
996  const cardIconClass = "pf-card-icon";
997
998  const currentPage = currentParams.page;
999  const section = document.querySelector(sectionSelector);
1000  const contentListWrappers = section.querySelectorAll(`.${contentsWrapperClass}, .${sidebarContentsWrapperClass}`);
1001  contentListWrappers.forEach((contentListWrapper) => {
1002    const contentCardTemplate = contentListWrapper.querySelector(`.${cardClass}.${templateClass}`)
1003      || section.querySelector(`.${cardClass}.${templateClass}`);
1004
1005    if (!contentCardTemplate) return;
1006
1007    if (!isLazyLoad || currentPage == 1) {
1008      contentListWrapper.innerHTML = "";
1009      if (!isCarousel) {
1010        contentListWrapper.appendChild(contentCardTemplate);
1011      }
1012    }
1013
1014    (contents || []).forEach((c) => {
1015      const contentCard = contentCardTemplate.cloneNode(true);
1016      const cardTitle = contentCard.querySelector(`.${titleClass}`);
1017      const cardDescription = contentCard.querySelector(`.${descriptionClass}`);
1018      const cardThumbnail = contentCard.querySelector(`.${thumbnailClass}`);
1019      const cardLink = contentCard.querySelector(`.${linkClass}`);
1020      const cardCTA = contentCard.querySelector(`.${cardCtaClass}`);
1021      const cardIcon = contentCard.querySelector(`.${cardIconClass}`);
1022
1023      contentCard.dataset.uuid = c.uuid;
1024      cardTitle.textContent = c.title;
1025      cardLink.href = c.url;
1026      contentCard.classList.remove(templateClass);
1027
1028      if (cardThumbnail) {
1029        cardThumbnail.src = c.thumbnail;
1030        cardThumbnail.setAttribute("alt", c.alt_text);
1031      }
1032
1033      if (cardIcon) {
1034        const iconClass = {
1035          webpage: "fa-globe",
1036          pdf: "fa-file-pdf",
1037          image: "fa-file-image",
1038          video: "fa-play-circle"
1039        }[c.mediaType] || "fa-globe";
1040        cardIcon.className = cardIcon.className.replace(/\bfa-[^\s]+\b/g, "").trim();
1041        cardIcon.classList.add(iconClass);
1042      }
1043
1044      if (cardLink.dataset.hasOwnProperty("lookbookOverlayHref")) {
1045        cardLink.dataset.lookbookOverlayHref = c.url;
1046      }
1047
1048      if (cardDescription && c.description) {
1049        cardDescription.textContent = c.description;
1050        cardDescription.parentElement.style.display = "";
1051      }
1052
1053      if (cardCTA) {
1054        cardCTA.textContent = c.ctaLabel;
1055      }
1056
1057      pfAppendTagsToLpCard({ contentCard, content: c});
1058
1059      contentCard.style.display = "";
1060      contentListWrapper.appendChild(contentCard);
1061    });
1062  });
1063}
1064
1065function pfAppendTagsToLpCard({ contentCard, content: c }) {
1066  // The following classes are needed if is landing page
1067  const tagsOnCardWrapperClass = "pf-content-tag-on-card-wrapper";
1068  const tagsBelowCardWrapperClass = "pf-content-tag-below-card-wrapper";
1069  const tagOnCardClass = "pf-content-tag-on-card";
1070  const tagBelowCardClass = "pf-content-tag-below-card";
1071  // The following classes are needed if is content page
1072  const sidebarCardTagsWrapperClass = "pf-content-tags-wrapper";
1073  const sidebarTagClass = "pf-content-tag";
1074  // The following classes are needed
1075  const pinnedClass = "pf-pinned-content-tag";
1076
1077  const tagsOnCardWrapper = contentCard.querySelector(`.${tagsOnCardWrapperClass}`);
1078  const tagsBelowCardWrapper = contentCard.querySelector(`.${tagsBelowCardWrapperClass}`);
1079  const sidebarCardTagsWrapper = contentCard.querySelector(`.${sidebarCardTagsWrapperClass}`);
1080
1081  if (c.isPinned) {
1082    const pinnedTag = contentCard.querySelector(`.${pinnedClass}`);
1083    pinnedTag.style.display = "";
1084  }
1085
1086  if (tagsOnCardWrapper) {
1087    const tagOnCardTemplate = tagsOnCardWrapper.querySelector(`.${tagOnCardClass}`);
1088    const enabledTagTypes = tagOnCardTemplate.dataset.enabledTags.split(",");
1089
1090    if (c.contentType && enabledTagTypes.includes("content_type")) {
1091      const contentTypeTag = tagOnCardTemplate.cloneNode();
1092      contentTypeTag.textContent = c.contentType;
1093      tagsOnCardWrapper.appendChild(contentTypeTag);
1094    }
1095
1096    if (c.language && enabledTagTypes.includes("language")) {
1097      const languageTag = tagOnCardTemplate.cloneNode();
1098      languageTag.textContent = c.language;
1099      tagsOnCardWrapper.appendChild(languageTag);
1100    }
1101
1102    if (c.isPinned) {
1103      tagsOnCardWrapper.style.display = "flex";
1104    }
1105
1106    tagOnCardTemplate.remove();
1107  }
1108
1109  if (tagsBelowCardWrapper) {
1110    const tagBelowCardTemplate = tagsBelowCardWrapper.querySelector(`.${tagBelowCardClass}`);
1111    const enabledTagTypes = tagBelowCardTemplate.dataset.enabledTags.split(",");
1112
1113    const customCategoryDimensionsByType = customCategoryKeys.reduce((acc, item) => {
1114      const camelizedKey = pfCamelize(item);
1115      if (c && c[camelizedKey]) {
1116        acc[item] = c[camelizedKey];
1117      }
1118      return acc;
1119    }, {});
1120
1121    const dimensionsByType = {
1122      business_units: c.businessUnits,
1123      funnel_stages: c.funnelStages,
1124      industries: c.industries,
1125      personas: c.personas,
1126      products: c.products,
1127      solutions: c.solutions,
1128      topics: c.topics,
1129      ...customCategoryDimensionsByType 
1130    };
1131
1132    if (Object.values(dimensionsByType).flat().length > 0) {
1133      enabledTagTypes.forEach((type) => {
1134        const dimensions = dimensionsByType[type] || [];
1135        dimensions.forEach((d) => {
1136          const dimensionTag = tagBelowCardTemplate.cloneNode();
1137          dimensionTag.textContent = d;
1138          tagsBelowCardWrapper.appendChild(dimensionTag);
1139        });
1140      });
1141    }
1142
1143    tagBelowCardTemplate.remove();
1144  }
1145
1146  if (sidebarCardTagsWrapper) {
1147    const tagTemplate = sidebarCardTagsWrapper.querySelector(`.${sidebarTagClass}`);
1148    const enabledTagTypes = tagTemplate.dataset.enabledContentTags.split(",");
1149    enabledTagTypes.forEach((tagType) => {
1150      const tags = [c[pfCamelize(tagType)] || []].flat();
1151      tags.forEach((tag) => {
1152        const newTagNode = tagTemplate.cloneNode();
1153        newTagNode.textContent = tag;
1154        newTagNode.style.display = "";
1155        sidebarCardTagsWrapper.appendChild(newTagNode);
1156      });
1157    });
1158  }
1159}
1160
1161// This is for content-list section. Function hides/unhides cards
1162function pfUpdateDisplayedContents({
1163  sectionSelector = "",
1164  contents = [],
1165  isLazyLoad = false,
1166  currentParams = {}
1167}) {
1168  // The following classes are needed if is glide carousel
1169  const glideContainerClass = "glide";
1170
1171  const section = document.querySelector(sectionSelector);
1172  const glideCarousel = section.querySelector(`.${glideContainerClass}`);
1173
1174  if (glideCarousel) {
1175    const glideId = glideCarousel?.dataset?.carouselGlideId;
1176    const glideConfig = window.carouselConfiguration?.[glideId];
1177    let glideApi = window.pfGlides?.[glideId];
1178    const glideReady = glideConfig && glideApi;
1179
1180    if (!glideReady) return;
1181
1182    glideApi.destroy();
1183    pfBuildCards({ sectionSelector, contents, isLazyLoad, currentParams, isCarousel: true });
1184    glideApi = new Glide(glideCarousel, glideConfig)
1185    window.pfGlides[glideId] = glideApi;
1186    glideApi.mount();
1187    pfUpdateGlideControls({ sectionSelector, currentContents: contents });
1188  } else {
1189    pfBuildCards({ sectionSelector, contents, isLazyLoad, currentParams });
1190  }
1191}
1192
1193function pfUpdateGlideControls({ sectionSelector, currentContents = [] }) {
1194  // The following classes are needed for glide carousel
1195  const glideContainerClass = "glide";
1196  const glideArrowsContainerClass = "glide__arrows";
1197  const glideBulletClass = "glide__bullet";
1198  const hiddenBulletClass = "glide__bullet--between";
1199
1200  const section = document.querySelector(sectionSelector);
1201  const glideContainer = section.querySelector(`.${glideContainerClass}`);
1202  const glideArrowsContainer = section.querySelector(`.${glideArrowsContainerClass}`);
1203  const visibleGlideBullets = section.querySelectorAll(`.${glideBulletClass}:not(.${hiddenBulletClass})`);
1204  let tilesPerRow = glideContainer?.dataset?.tilesPerRow;
1205  if (window.innerWidth > 640 && window.innerWidth <= 1024 && tilesPerRow != 1) {
1206    tilesPerRow = 2;
1207  } else if (window.innerWidth <= 640) {
1208    tilesPerRow = 1;
1209  }
1210
1211  if (!glideContainer || !tilesPerRow) return;
1212
1213  if (glideArrowsContainer) {
1214    glideArrowsContainer.style.display = currentContents.length <= tilesPerRow
1215      ? "none"
1216      : "";
1217  }
1218
1219  visibleGlideBullets.forEach((bullet) => {
1220    const bulletIndex = (bullet.dataset.glideDir || "0").match(/\d+/)[0] || 0;
1221    const hide = bulletIndex >= currentContents.length || currentContents.length <= tilesPerRow;
1222    bullet.style.display = hide ? "none" : "";
1223    bullet.setAttribute("tabindex", hide ? -1 : 0);
1224  });
1225}
1226
1227function pfUpdateContentsStatus({
1228  sectionSelector,
1229  contents = []
1230}) {
1231  // The following classes are required
1232  const statusContainerClass = "pf-no-results"
1233  const visuallyHiddenClass = "visually-hidden";
1234
1235  const section = document.querySelector(sectionSelector);
1236  const statusContainers = section?.querySelectorAll(`.${statusContainerClass}`) || [];
1237  statusContainers.forEach((statusContainer) => {
1238    if (contents.length === 0) {
1239      statusContainer.classList.remove(visuallyHiddenClass);
1240      statusContainer.textContent = "No results match the search/filter criteria.";
1241    } else {
1242      statusContainer.classList.add(visuallyHiddenClass);
1243      statusContainer.textContent = `${contents.length} results found`;
1244    }
1245  });
1246}
1247
1248function pfUpdateQueryStrings({ sectionSelector, currentParams = {}, filtersConfig = {} }) {
1249  const paramsMappedToLabels = { page: currentParams.page || 1 };
1250  PF_FILTER_TYPES.forEach((filterType) => {
1251    const selectedIdsForType = currentParams[filterType] || [];
1252    paramsMappedToLabels[filterType] = selectedIdsForType.map((id) => {
1253      const optionsForType = filtersConfig[filterType] || [];
1254      const option = optionsForType.find((option) => option.value == id);
1255      return option?.label;
1256    }).filter((label) => label);
1257  });
1258
1259  const newBrowserUrl = pfUpdateUrlParams(window.location.href, paramsMappedToLabels);
1260  history.replaceState({}, "", newBrowserUrl);
1261  pfUpdateContentSectionQueryStrings({ sectionSelector, params: paramsMappedToLabels });
1262}
1263
1264function pfUpdateContentSectionQueryStrings({ sectionSelector, params = {} }) {
1265  // The following classes are needed
1266  const cardClass = "pf-content-card";
1267  // Classes not strictly needed
1268  const templateClass = "template";
1269
1270  const section = document.querySelector(sectionSelector);
1271  const contentLinks = section.querySelectorAll(`.${cardClass}:not(.${templateClass}) a`);
1272  contentLinks.forEach((link) => {
1273    link.href = pfUpdateUrlParams(link.href || "", params);
1274  });
1275}
1276
1277function pfGetContentsOnPage({ sectionSelector }) {
1278  // The following classes are needed
1279  const contentCardClass = "pf-content-card";
1280  const templateClass = "template";
1281
1282  const section = document.querySelector(sectionSelector);
1283
1284  if (!section) return [];
1285
1286  const cards = Array.from(section.querySelectorAll(`.${contentCardClass}:not(.${templateClass})`));
1287  const contentsData = cards.map((card) => ({ uuid: card.dataset.uuid }));
1288  const seen = new Set();
1289  // To account for presence of desktop & mobile cards
1290  const uniqueContentsData = contentsData.filter((content) => {
1291    if (seen.has(content.uuid)) return false;
1292    seen.add(content.uuid);
1293    return true;
1294  });
1295  
1296  return uniqueContentsData;
1297}
1298
1299// ---------- custom on-image tag overlay due to zigzag layout ----------
1300function pfMoveOnCardTags(contentCard) {
1301  const imageContainer = contentCard.querySelector('.image-container');
1302  const onCardWrapper =
1303    contentCard.querySelector('.content-container .pf-content-tag-on-card-wrapper') ||
1304    contentCard.querySelector('.pf-content-tag-on-card-wrapper');
1305
1306  if (!imageContainer || !onCardWrapper) return;
1307
1308  if (getComputedStyle(imageContainer).position === 'static') {
1309    imageContainer.style.position = 'relative';
1310  }
1311
1312  let overlayHost = imageContainer.querySelector('.pf-tags-overlay');
1313  if (!overlayHost) {
1314    overlayHost = document.createElement('div');
1315    overlayHost.className = 'pf-tags-overlay';
1316    imageContainer.appendChild(overlayHost);
1317  }
1318  if (onCardWrapper.parentElement !== overlayHost) {
1319    overlayHost.appendChild(onCardWrapper);
1320  }
1321  onCardWrapper.classList.add('in-overlay');
1322
1323  // ensure visible if it has chips
1324  onCardWrapper.style.display   = onCardWrapper.childElementCount ? 'inline-flex' : 'none';
1325  onCardWrapper.style.margin    = '0';
1326  onCardWrapper.style.width     = 'auto';
1327  onCardWrapper.style.maxWidth  = '100%';
1328
1329  // place at the image's top-left corner (slightly outside), regardless of side
1330  requestAnimationFrame(() => {
1331    overlayHost.style.right = '';
1332    if (!window.matchMedia('(min-width: 768px)').matches) {
1333      overlayHost.style.left = '10px'; // mobile: inside
1334      return;
1335    }
1336    overlayHost.style.left = '-8px';   // desktop: small left bleed
1337  });
1338}
1339
1340function pfHydrateOnCardTags(sectionEl) {
1341  const cards = sectionEl.querySelectorAll('.content-list-card-side');
1342  cards.forEach(pfMoveOnCardTags);
1343}
1344
1345function pfRepositionAllOverlays(sectionEl) {
1346  const cards = sectionEl.querySelectorAll('.content-list-card-side');
1347  cards.forEach(pfMoveOnCardTags);
1348}
1349
1350function pfBuildZigzagCards({
1351  sectionSelector = "",
1352  contents = [],
1353  isLazyLoad = false,
1354  currentParams = {}
1355}) {
1356  const contentsWrapperClass = "pf-resource-center-cards-wrapper";
1357  const sidebarContentsWrapperClass = "pf-cards-wrapper";
1358  const cardClass = "pf-content-card";
1359  const templateClass = "template";
1360  const titleClass = "pf-content-card-title";
1361  const linkClass = "pf-content-card-link";
1362  const descriptionClass = "pf-content-card-description";
1363  const cardCtaClass = "pf-content-card-cta";
1364  const thumbnailClass = "pf-content-card-thumbnail";
1365  const cardIconClass = "pf-card-icon";
1366
1367  let section = document.querySelector(sectionSelector);
1368  if (!section) {
1369    if (!sectionSelector.startsWith("section-") && !sectionSelector.startsWith(".section-")) {
1370      section = document.querySelector(`.section-${sectionSelector.replace(/^\./, '')}`);
1371    }
1372    if (!section) {
1373      const nodeId = sectionSelector.replace(/^\.?section-/, '');
1374      section = document.querySelector(`[data-section-id="${nodeId}"]`);
1375    }
1376    if (!section) return;
1377  }
1378
1379  const contentWrapper = section.querySelector(`.${contentsWrapperClass}, .${sidebarContentsWrapperClass}`);
1380  if (!contentWrapper) return;
1381
1382  const contentCardTemplate = contentWrapper.querySelector(`.${cardClass}.${templateClass}`) || 
1383                              section.querySelector(`.${cardClass}.${templateClass}`);
1384  if (!contentCardTemplate) return;
1385
1386  if (!isLazyLoad || currentParams.page == 1) {
1387    const templateCopy = contentCardTemplate.cloneNode(true);
1388    contentWrapper.innerHTML = "";
1389    contentWrapper.appendChild(templateCopy);
1390  }
1391
1392  const noResultsClass = "pf-no-results";
1393  const visuallyHiddenClass = "visually-hidden";
1394  const statusContainers = section.querySelectorAll(`.${noResultsClass}, .no-results`) || [];
1395  statusContainers.forEach(statusContainer => {
1396    if (contents.length === 0) {
1397      statusContainer.classList.remove(visuallyHiddenClass);
1398      statusContainer.textContent = "No results match the search/filter criteria";
1399    } else {
1400      statusContainer.classList.add(visuallyHiddenClass);
1401      statusContainer.textContent = `${contents.length} results found`;
1402    }
1403  });
1404
1405  (contents || []).forEach((c, index) => {
1406    const contentCard = contentCardTemplate.cloneNode(true);
1407    const isEven = (index + 1) % 2 === 0;
1408
1409    contentCard.classList.remove(templateClass);
1410    contentCard.style.display = "block";
1411    contentCard.style.visibility = "visible";
1412    contentCard.dataset.uuid = c.uuid;
1413
1414    contentCard.dataset.contentId = c.id || '';
1415    contentCard.dataset.title = c.title || '';
1416    contentCard.dataset.isPinned = c.isPinned || false;
1417
1418    if (c.topics) contentCard.dataset.topics = JSON.stringify(c.topics);
1419    if (c.language) contentCard.dataset.language = c.language;
1420    if (c.personas) contentCard.dataset.personas = JSON.stringify(c.personas);
1421    if (c.businessUnits) contentCard.dataset.businessUnits = JSON.stringify(c.businessUnits);
1422    if (c.industries) contentCard.dataset.industries = JSON.stringify(c.industries);
1423    if (c.products) contentCard.dataset.products = JSON.stringify(c.products);
1424    if (c.solutions) contentCard.dataset.solutions = JSON.stringify(c.solutions);
1425    if (c.contentType) contentCard.dataset.contentType = c.contentType;
1426    if (c.funnelStages) contentCard.dataset.funnelStages = JSON.stringify(c.funnelStages);
1427
1428    const cardTitle = contentCard.querySelector(`.${titleClass}`);
1429    const cardDescription = contentCard.querySelector(`.${descriptionClass}`);
1430    const cardThumbnail = contentCard.querySelector(`.${thumbnailClass}`);
1431    const cardLink = contentCard.querySelector(`.${linkClass}`);
1432    const cardCTA = contentCard.querySelector(`.${cardCtaClass}`);
1433    const cardIcon = contentCard.querySelector(`.${cardIconClass}`);
1434
1435    if (cardTitle) cardTitle.textContent = c.title;
1436    if (cardLink) cardLink.href = c.url;
1437
1438    if (cardThumbnail) {
1439      cardThumbnail.src = c.thumbnail;
1440      cardThumbnail.setAttribute("alt", c.alt_text || c.title);
1441    }
1442    const thumbnails = contentCard.querySelectorAll(`.${thumbnailClass}`);
1443    thumbnails.forEach(img => {
1444      img.src = c.thumbnail;
1445      img.alt = c.alt_text || c.title;
1446    });
1447
1448    if (cardIcon) {
1449      const iconClass = {
1450        webpage: "fa-globe",
1451        pdf: "fa-file-pdf",
1452        image: "fa-file-image",
1453        video: "fa-play-circle"
1454      }[c.mediaType] || "fa-globe";
1455      cardIcon.className = cardIcon.className.replace(/\bfa-[^\s]+\b/g, "").trim();
1456      cardIcon.classList.add(iconClass);
1457    }
1458
1459    if (cardLink && cardLink.dataset.hasOwnProperty("lookbookOverlayHref")) {
1460      cardLink.dataset.lookbookOverlayHref = c.url;
1461    }
1462
1463    if (cardDescription && c.description) {
1464      cardDescription.textContent = c.description;
1465      const descContainer = cardDescription.closest('[style*="display:none"]');
1466      if (descContainer) descContainer.style.display = '';
1467    }
1468
1469    if (cardCTA && c.ctaLabel) {
1470      cardCTA.textContent = c.ctaLabel;
1471    }
1472
1473    const zigzagWrapper = document.createElement('div');
1474    zigzagWrapper.className = isEven ? 'zigzag-item zigzag-even' : 'zigzag-item zigzag-odd';
1475
1476    try {
1477      pfAppendTagsToLpCard({ contentCard, content: c });
1478    } catch (e) {
1479      console.error("Error appending tags:", e);
1480    }
1481
1482    zigzagWrapper.appendChild(contentCard);
1483    contentWrapper.appendChild(zigzagWrapper);
1484
1485    // place on-image tags
1486    pfMoveOnCardTags(contentCard);
1487  });
1488
1489  // after building all cards, ensure placement is correct
1490  pfRepositionAllOverlays(section);
1491}
1492
1493
1494  class PfContentsApi {
1495    static initialParams = {
1496      sort: "",
1497      page: 1,
1498      search: "",
1499      dimensions: [],
1500      languages: [],
1501      content_types: []
1502    };
1503    static blankSectionState = {
1504      currentParams: PfContentsApi.initialParams,
1505      currentContents: [],
1506      totalScopedContents: 0,
1507      totalContents: 0,
1508      contentsPerPage: 9,
1509      enablePagination: true,
1510      enableQueryParams: false,
1511      enabledFilters: [],
1512      filtersConfig: {}
1513    };
1514    static state = {};
1515    static presets = {
1516      resourceCenter: {},
1517      contentList: {
1518        buildCards: pfUpdateDisplayedContents
1519      },
1520      contentPage: {}
1521    };
1522
1523    constructor({
1524      // required
1525      sectionNodeId,
1526      // required if not resource-center section
1527      preset = "resourceCenter",
1528      // optional overrides
1529      sectionSelector,
1530      fetchContents,
1531      buildCards,
1532      updateQueryStrings,
1533      updateFilters,
1534      updateStatus,
1535      updatePagination,
1536      fetchFilters,
1537      buildFilters,
1538      addPaginationEvents,
1539      addSearchEvent,
1540      addSortEvents,
1541      applyQueryParams,
1542      getContentsOnPage
1543    }) {
1544      this.preset = preset;
1545      this.sectionNodeId = sectionNodeId;
1546      this.sectionSelector = sectionSelector || `.section-${this.sectionNodeId}`;
1547      this.fetchContents = fetchContents || pfFetchContents;
1548      this.buildCards = buildCards || PfContentsApi.presets[preset]?.buildCards || pfBuildCards;
1549      this.updateQueryStrings = updateQueryStrings || pfUpdateQueryStrings;
1550      this.updateFilters = updateFilters || pfUpdateFilters;
1551      this.updateStatus = updateStatus || pfUpdateContentsStatus;
1552      this.updatePagination = updatePagination || pfUpdatePagination;
1553      this.fetchFilters = fetchFilters || pfFetchFilters;
1554      this.buildFilters = buildFilters || pfBuildFilters;
1555      this.addPaginationEvents = addPaginationEvents || pfAddPaginationEvents;
1556      this.addSearchEvent = addSearchEvent || pfAddSearchEvent;
1557      this.addSortEvents = addSortEvents || pfAddSortEvents;
1558      this.applyQueryParams = applyQueryParams || pfApplyQueryParams;
1559      this.getContentsOnPage = getContentsOnPage || pfGetContentsOnPage;
1560
1561      // Functions used in event listeners (outside a class instance) must bind "this"
1562      this.handleParamsChange = this.handleParamsChange.bind(this);
1563
1564    }
1565
1566    setSectionState(arg1, value) {
1567      const stateUpdates = typeof arg1 === "string" ? { [arg1]: value } : arg1;
1568      PfContentsApi.state[this.sectionNodeId] = {
1569        ...(PfContentsApi.state[this.sectionNodeId] || PfContentsApi.blankSectionState),
1570        ...stateUpdates
1571      };
1572    }
1573
1574    get sectionState() {
1575      return PfContentsApi.state[this.sectionNodeId] || PfContentsApi.blankSectionState;
1576    }
1577
1578    setCurrentContents(contents = [], isLazyLoad = false) {
1579      const updatedContents = isLazyLoad
1580        ? [...this.sectionState.currentContents, ...contents]
1581        : contents;
1582      this.setSectionState("currentContents", updatedContents);
1583    }
1584    
1585    setCurrentParams(params = {}) {
1586      const currentParams = this.sectionState.currentParams;
1587      const groupedCheckedDimensions = DIMENSION_FILTER_TYPES.map((filterType) =>
1588        params[filterType] || currentParams[filterType] || []
1589      );
1590      const newParams = {
1591        ...currentParams,
1592        ...params,
1593        dimensions: groupedCheckedDimensions,
1594        page: params.page || 1
1595      };
1596      if (!this.sectionState.enablePagination) {
1597        newParams.page = 1;
1598        newParams.limit = this.sectionState.totalContents;
1599      }
1600      this.setSectionState("currentParams", newParams);
1601    }
1602
1603    // valid values of context: page_load, lazy_load, undefined
1604    async handleParamsChange(params = {}, context = undefined) {
1605      this.setCurrentParams(params);
1606      const response = await this.fetchContents({
1607        sectionNodeId: this.sectionNodeId,
1608        params: this.sectionState.currentParams,
1609        loadedContentUuids: this.sectionState.currentContents.map((c) => c.uuid),
1610        contentsPerPage: this.sectionState.contentsPerPage,
1611        fetchType: context == "page_load" && this.sectionState.paginationType == "lazy_load" ? "upToPage" : "currentPage"
1612      }) || [];
1613      const contents = response.contents || []
1614      this.setCurrentContents(contents, context == "lazy_load");
1615      this.setSectionState("totalScopedContents", response.totalContents || 0);
1616
1617      this.buildCards({
1618        sectionSelector: this.sectionSelector,
1619        contents: contents,
1620        isLazyLoad: context == "lazy_load",
1621        currentParams: this.sectionState.currentParams
1622      });
1623
1624      this.updateFilters({
1625        sectionSelector: this.sectionSelector,
1626        params: this.sectionState.currentParams
1627      });
1628      this.updateStatus({
1629        sectionSelector: this.sectionSelector,
1630        contents: this.sectionState.currentContents
1631      });
1632      this.updatePagination({
1633        sectionSelector: this.sectionSelector,
1634        params: this.sectionState.currentParams,
1635        totalContents: this.sectionState.totalScopedContents,
1636        currentContents: this.sectionState.currentContents,
1637        contentsPerPage: this.sectionState.contentsPerPage
1638      });
1639      // Don't want to update query strings on page load because query strings
1640      // are supposed to apply to multiple sections. Once one section applies the
1641      // query params, it must not update the query params based on its own valid
1642      // filters, or else other sections might not get filtered by those values.
1643      // On subsequent filtering from using the UI, then we can update the query
1644      // params because filters UI only meant to apply to its own section.
1645      if (this.sectionState.enableQueryParams && context !== "page_load") {
1646        this.updateQueryStrings({
1647          sectionSelector: this.sectionSelector,
1648          currentParams: this.sectionState.currentParams,
1649          filtersConfig: this.sectionState.filtersConfig
1650        });
1651      }
1652    }
1653
1654    async initializeContentControls() {
1655      const filters = await this.fetchFilters(this.sectionNodeId);
1656      this.setSectionState({
1657        totalScopedContents: filters.totalContents || 0,
1658        totalContents: filters.totalContents || 0,
1659        contentsPerPage: (!filters.enablePagination && filters.totalContents) || filters.contentsPerPage || 0,
1660        enablePagination: filters.enablePagination,
1661        paginationType: filters.paginationType,
1662        enableQueryParams: filters.enableQueryParams,
1663        enabledFilters: filters.enabledFilters || [],
1664        filtersConfig: {
1665          ...(filters.dimensions || {}),
1666          contentTypes: filters.contentTypes,
1667          content_types: filters.contentTypes,
1668          languages: filters.languages
1669        },
1670        currentContents: this.getContentsOnPage({ sectionSelector: this.sectionSelector })
1671      });
1672
1673      this.buildFilters({
1674        filters,
1675        sectionSelector: this.sectionSelector,
1676        sectionNodeId: this.sectionNodeId,
1677        fetchCurrentParams: () => this.sectionState.currentParams,
1678        handleParamsChange: this.handleParamsChange
1679      });
1680      this.addPaginationEvents({
1681        sectionSelector: this.sectionSelector,
1682        contentsPerPage: this.sectionState.contentsPerPage,
1683        handleParamsChange: this.handleParamsChange,
1684        fetchTotalContents: () => this.sectionState.totalScopedContents,
1685        fetchCurrentParams: () => this.sectionState.currentParams
1686      });
1687      this.updatePagination({
1688        sectionSelector: this.sectionSelector,
1689        params: this.sectionState.currentParams,
1690        totalContents: this.sectionState.totalScopedContents,
1691        currentContents: this.sectionState.currentContents,
1692        contentsPerPage: this.sectionState.contentsPerPage
1693      });
1694      this.addSearchEvent({
1695        sectionSelector: this.sectionSelector,
1696        handleParamsChange: this.handleParamsChange
1697      });
1698      this.addSortEvents({
1699        sectionSelector: this.sectionSelector,
1700        handleParamsChange: this.handleParamsChange
1701      });
1702      if (this.sectionState.enableQueryParams) {
1703        this.applyQueryParams({
1704          handleParamsChange: this.handleParamsChange,
1705          filtersConfig: this.sectionState.filtersConfig,
1706          enabledFilters: this.sectionState.enabledFilters
1707        });
1708      }
1709    }
1710  }
1711</script>
1711
1712
1713
1714
1715<script>
1716  const reconstructUrl = (newFilterQueryParams) => {
1717    const isContentPage = false;
1718    if (isContentPage) {
1719      const allowedFilters = ["topics", "languages", "personas", "business_units", "industries", "products", "solutions", "content_types", "funnel_stages", "current_page", ...customCategoryKeys];
1720      const allParams = new URLSearchParams(window.location.search);
1721      const allParamsAsObject = Object.fromEntries(allParams);
1722      const nonFilterParams = Object.keys(allParamsAsObject).
1723        filter((key) => !allowedFilters.includes(key)).
1724        reduce((cur, key) => { return Object.assign(cur, { [key]: allParamsAsObject[key] })}, {});
1725      const nonFilterQueryParams = convertToQueryParams(nonFilterParams);
1726      const currentUrl = window.location.href;
1727      const path = currentUrl.substring(0, currentUrl.indexOf('?'));
1728      history.replaceState({}, "", `${path}?${nonFilterQueryParams}&${newFilterQueryParams}`);
1729      const allContentLinks = document.querySelectorAll(".assets-content-page a");
1730      for (let i = 0; i < allContentLinks.length; i++) {
1731        const contentUrl = allContentLinks[i].href.split("?")[0];
1732        allContentLinks[i].href = (`${contentUrl}?${nonFilterQueryParams}&${newFilterQueryParams}`.replace("&lb-mode=overlay", ""));
1733      }
1734    }
1735  };
1736
1737  function pfUpdateCheckedFiltersCount(sectionNodeId) {
1738    const section = document.querySelector(`.section-${sectionNodeId}`);
1739    const optionWrappers = section.querySelectorAll("ul[class*='pf-options-wrapper-']");
1740    optionWrappers.forEach((wrapper) => {
1741      const f = wrapper.closest("[class*=select-container]");
1742
1743      if (!f) return;
1744
1745      const checkboxes = Array.from(f.querySelectorAll(".pf-checkbox"));
1746      const checkedOptionsCount = checkboxes.reduce((total, cb) => {
1747        return cb.checked ? total + 1 : total;
1748      }, 0);
1749      const countLabel = f.querySelector(".pf-selected-options-count");
1750      countLabel.style.display = checkedOptionsCount === 0 ? "none" : "inline-block";
1751      countLabel.textContent = checkedOptionsCount > 0 ? checkedOptionsCount : "";
1752    });
1753    const filterContainers = section.querySelectorAll(".pf-resource-center-filters");
1754    filterContainers.forEach((filterContainer) => {
1755      const totalCheckedFiltersLabel = filterContainer.querySelector(".pf-total-checked-filters-count");
1756      const overallFiltersLabel = filterContainer.querySelector(".pf-filters-label");
1757      if (totalCheckedFiltersLabel && overallFiltersLabel) {
1758        const totalChecked = Array.from(filterContainer.querySelectorAll(".pf-checkbox")).reduce((total, cb) => {
1759          return cb.checked ? total + 1 : total;
1760        }, 0);
1761        totalCheckedFiltersLabel.textContent = totalChecked;
1762        if (totalChecked > 0) {
1763          totalCheckedFiltersLabel.style.display = "";
1764          overallFiltersLabel.textContent = "Filter by:";
1765        } else {
1766          totalCheckedFiltersLabel.style.display = "none";
1767          overallFiltersLabel.textContent = "Filter by";
1768        }
1769      }
1770    });
1771  }
1772
1773  function pfUpdateUrlsWithFilterParams(sectionNodeId) {
1774    const filterOptions = window.pfAllFilterOptions || {};
1775    const selectedFilters = window.pfResourceCenterParams?.[sectionNodeId] || {};
1776    const userDefinedCategoryParams = customCategoryKeys.reduce((acc, key) => {
1777      acc[key] = selectedFilters?.[key]?.map((id) => filterOptions?.dimensions?.[key]?.find((t) => t.value == id)?.label)?.filter((x) => x) || [];
1778      return acc;
1779    }, {});
1780    reconstructUrl(convertToQueryParams({
1781      topics: selectedFilters.topics?.map((id) => filterOptions.dimensions?.topics?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1782      languages: selectedFilters.languages?.map((id) => filterOptions.languages?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1783      personas: selectedFilters.personas?.map((id) => filterOptions.dimensions?.personas?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1784      business_units: selectedFilters.business_units?.map((id) => filterOptions.dimensions?.business_units?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1785      industries: selectedFilters.industries?.map((id) => filterOptions.dimensions?.industries?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1786      products: selectedFilters.products?.map((id) => filterOptions.dimensions?.products?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1787      solutions: selectedFilters.solutions?.map((id) => filterOptions.dimensions?.solutions?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1788      content_types: selectedFilters.content_types?.map((id) => filterOptions.contentTypes?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1789      funnel_stages: selectedFilters.funnel_stages?.map((id) => filterOptions.dimensions?.funnel_stages?.find((t) => t.value == id)?.label)?.filter((x) => x) || [],
1790      current_page: `${selectedFilters.page}`,
1791      ...userDefinedCategoryParams
1792    }));
1793  }
1794
1795  async function pfGetContents({
1796    sectionNodeId,
1797    isLoadMore = false,
1798    updateParams = {}
1799  }) {
1800    const sectionSelector = `.section-${sectionNodeId}`;
1801    const contents = Array.from(document.querySelectorAll(`.section-${sectionNodeId} .pf-content-card`));
1802    const contentUuids = contents.map((c) => c.dataset.uuid).filter((x) => x);
1803    const landingPageId = "47377";
1804    const segmentGroupId = "";
1805    const api_url = `${jukeboxApiHost}/api/public/v3/get_contents/${window.location.search}`;
1806    const initialParams = {
1807      sort: "",
1808      page: 1,
1809      search: "",
1810      dimensions: [],
1811      languages: [],
1812      content_types: []
1813    };
1814    const newParams = {
1815      ...(window.pfResourceCenterParams?.[sectionNodeId] || initialParams),
1816      ...updateParams
1817    };
1818    window.pfResourceCenterParams = {
1819      ...(window.pfResourceCenterParams || {}),
1820      [sectionNodeId]: newParams
1821    };
1822    const body = {
1823      ...newParams,
1824      landingPageId,
1825      sectionNodeId,
1826      clientId,
1827      baseUrl: "https://resources.managementcontrols.com",
1828      visitorUuid: pfGetCookie("vid"),
1829      sessionId: (pfGetCookie(/_pf_id.+/) || "").split(".")[5],
1830      segmentGroupId,
1831      loadedContentUuids: newParams.page === 1 ? [] : contentUuids
1832    };
1833    const response = await fetch(api_url, {
1834      method: "POST",
1835      headers: { "Content-Type": "application/json" },
1836      body: JSON.stringify(body)
1837    });
1838    const result = await response.json();
1839
1840    window.pfResourceCenterParams[sectionNodeId] = {
1841      ...window.pfResourceCenterParams[sectionNodeId],
1842      totalContents: result.totalContents
1843    };
1844    window.document.dispatchEvent(new CustomEvent('pageMetadataUpdated', { detail: sectionNodeId }));
1845
1846    const section = document.querySelector(sectionSelector);
1847    const contentListWrapper = section.querySelector(".pf-resource-center-cards-wrapper");
1848    const contentCardTemplate = section.querySelector(".pf-content-card.template");
1849
1850    if (!contentCardTemplate || !contentListWrapper) return;
1851
1852    if (!isLoadMore) contentListWrapper.innerHTML = "";
1853
1854    const noResultsMessage = document.querySelector(".pf-no-results");
1855    if ((result.contents || []).length === 0 && !isLoadMore) {
1856      noResultsMessage.style.display = "";
1857    } else {
1858      noResultsMessage.style.display = "none";
1859    }
1860
1861    // This is for dynamically updating filter status message for screen reader
1862    const resultCountMessage = document.querySelector(`${sectionSelector} .results-count`);
1863    if(resultCountMessage) {
1864       const numberOfResults = result && result.contents ? (result.contents).length : 0;
1865       resultCountMessage.textContent = `${numberOfResults} result${numberOfResults !== 1 ? 's' : ''} found`;
1866    }  
1867
1868    (result.contents || []).forEach((c) => {
1869      const contentCard = contentCardTemplate.cloneNode(true);
1870      contentCard.dataset.uuid = c.uuid;
1871      contentCard.querySelector(".pf-content-card-title").textContent = c.title;
1872      contentCard.querySelector(".pf-content-card-thumbnail").src = c.thumbnail;
1873      contentCard.querySelector(".pf-content-card-thumbnail").setAttribute("alt", c.alt_text);
1874      contentCard.querySelector(".pf-content-card-link").href = c.url;
1875      const linkNode = contentCard.querySelector(".pf-content-card-link");
1876      if (linkNode.dataset.hasOwnProperty("lookbookOverlayHref")) {
1877        linkNode.dataset.lookbookOverlayHref = c.url;
1878      }
1879      const descriptionNode = contentCard.querySelector(".pf-content-card-description");
1880      if (descriptionNode && c.description) {
1881        descriptionNode.textContent = c.description;
1882        descriptionNode.parentElement.style.display = "";
1883      }
1884      const ctaLabelNode = contentCard.querySelector(".pf-content-card-cta");
1885      if (ctaLabelNode) {
1886        ctaLabelNode.textContent = c.ctaLabel;
1887      }
1888
1889      const tagsOnCardWrapper = contentCard.querySelector(".pf-content-tag-on-card-wrapper");
1890      const tagsBelowCardWrapper = contentCard.querySelector(".pf-content-tag-below-card-wrapper");
1891
1892      if (tagsOnCardWrapper || tagsBelowCardWrapper) {
1893        const tagOnCardTemplate = tagsOnCardWrapper?.querySelector(".pf-content-tag-on-card");
1894        const tagBelowCardTemplate = tagsBelowCardWrapper?.querySelector(".pf-content-tag-below-card");
1895        const enabledTagTypes = (tagBelowCardTemplate || tagOnCardTemplate).dataset.enabledTags.split(",");
1896        if (c.contentType && tagsOnCardWrapper && enabledTagTypes.includes("content_type")) {
1897          const contentTypeTag = tagOnCardTemplate.cloneNode();
1898          contentTypeTag.textContent = c.contentType;
1899          tagsOnCardWrapper.appendChild(contentTypeTag);
1900        }
1901        if (c.language && tagsOnCardWrapper && enabledTagTypes.includes("language")) {
1902          const languageTag = tagOnCardTemplate.cloneNode();
1903          languageTag.textContent = c.language;
1904          tagsOnCardWrapper.appendChild(languageTag);
1905        }
1906        const customCategoryDimensionsByType = customCategoryKeys.reduce((acc, item) => {
1907          const camelizedKey = item.replace(/(_\w)/g, function (match) {
1908            return match[1].toUpperCase();
1909          })
1910          if (c && c[camelizedKey]) {
1911            acc[item] = c[camelizedKey];
1912          }
1913          return acc;
1914        }, {});
1915
1916        const dimensionsByType = {
1917          business_units: c.businessUnits,
1918          funnel_stages: c.funnelStages,
1919          industries: c.industries,
1920          personas: c.personas,
1921          products: c.products,
1922          solutions: c.solutions,
1923          topics: c.topics,
1924          ...customCategoryDimensionsByType 
1925        };    
1926        if (Object.values(dimensionsByType).flat().length > 0 && tagsBelowCardWrapper) {
1927          enabledTagTypes.forEach((type) => {
1928            const dimensions = dimensionsByType[type] || [];
1929            dimensions.forEach((d) => {
1930              const dimensionTag = tagBelowCardTemplate.cloneNode();
1931              dimensionTag.textContent = d;
1932              tagsBelowCardWrapper.appendChild(dimensionTag);
1933            });
1934          });
1935        }
1936        if(tagOnCardTemplate) tagOnCardTemplate.remove();
1937        if(tagBelowCardTemplate) tagBelowCardTemplate.remove();
1938        if (c.isPinned) {
1939          const pinnedTag = tagsOnCardWrapper.querySelector(".pf-pinned-content-tag");
1940          pinnedTag.style.display = "";
1941          tagsOnCardWrapper.style.display = "flex";
1942        }
1943      }
1944
1945      contentCard.style.display = "";
1946      contentListWrapper.appendChild(contentCard);
1947    });
1948    pfUpdateCheckedFiltersCount(sectionNodeId);
1949    if (!isLoadMore) section.scrollIntoView();
1950  }
1951
1952  async function pfGetFilters(sectionNodeId) {
1953    console.log("Warning: You are using a legacy version of the resource-center which is no longer supported.");
1954    const isContentPage = false;
1955    const urlParams = new URLSearchParams(window.location.search);
1956    const sectionSelector = `.section-${sectionNodeId}`;
1957    const contentPlayUuid = urlParams.get("pf_cpid");
1958    const campaignUuid = urlParams.get("pf_cid");
1959    const landingPageId =
1960      isContentPage
1961        ? urlParams.get("pflpid")
1962        : "47377";
1963    const lpSectionNodeId =
1964      isContentPage
1965        ? urlParams.get("pfsid")
1966        : sectionNodeId;
1967    const segmentGroupId = "";
1968
1969    const contentPageParams = isContentPage ? {
1970      isContentPage: true,
1971      contentSource: "experience",
1972      templatedExperienceId: "11083"
1973    } : {};
1974
1975    const apiUrl = new URL(`${jukeboxApiHost}/api/public/v3/get_filter_options`);
1976    const params = { ...contentPageParams, landingPageId, sectionNodeId: lpSectionNodeId, clientId, segmentGroupId, pf_cpid: contentPlayUuid, pf_cid: campaignUuid };
1977    apiUrl.search = new URLSearchParams(params);
1978    const response = await fetch(apiUrl);
1979    const result = await response.json();
1980    window.pfAllFilterOptions = result;
1981
1982    if (typeof result?.totalContents === "number") {
1983      window.pfResourceCenterParams = {
1984        ...(window.pfResourceCenterParams || {}),
1985        [sectionNodeId]: {
1986          ...(window.pfResourceCenterParams?.[sectionNodeId] || {}),
1987          totalContents: result.totalContents || 0
1988        }
1989      };
1990      window.document.dispatchEvent(new CustomEvent('pageMetadataUpdated', { detail: sectionNodeId }));
1991    }
1992
1993    const section = document.querySelector(sectionSelector);
1994    const allFiltersWrapper = section.querySelectorAll(".pf-resource-center-filters");
1995
1996    if (allFiltersWrapper.length === 0) return;
1997
1998    allFiltersWrapper.forEach((filtersWrapper) => {
1999      const filterOptionTemplate = filtersWrapper.querySelector(".pf-options.pf-template");
2000      const contentTypeOptionsWrapper =
2001        filtersWrapper.querySelector(".pf-options-wrapper-content_type")
2002          || filtersWrapper.querySelector(".pf-options-wrapper-content_types");
2003      const languageOptionsWrapper =
2004        filtersWrapper.querySelector(".pf-options-wrapper-language")
2005          || filtersWrapper.querySelector(".pf-options-wrapper-languages");
2006
2007      if (contentTypeOptionsWrapper) {
2008        if (result.contentTypes.length === 0) {
2009          filtersWrapper.querySelector("[class*='select-content_type']").style.display = "none";
2010        } else {
2011          filtersWrapper.querySelector("[class*='select-content_type']").style.display = "";
2012          contentTypeOptionsWrapper.innerHTML = "";
2013        }
2014        result.contentTypes.forEach((ct) => {
2015          const contentTypeOption = filterOptionTemplate.cloneNode(true);
2016          const screenType = contentTypeOption?.querySelector(".pf-checkbox")?.getAttribute("data-screen");
2017          const labelSlug = ct.label.replace(/\s/g, "");
2018          const idPrefix =
2019            screenType && screenType === "desktop"
2020              ? `content_types-${labelSlug}-desktop`
2021              : `content_types-${labelSlug}`;
2022          contentTypeOption.querySelector(".pf-label").textContent = ct.label;
2023          contentTypeOption.querySelector(".pf-label").setAttribute("for", `${idPrefix}-${[sectionNodeId]}`);
2024          contentTypeOption.querySelector(".pf-checkbox").id =`${idPrefix}-${[sectionNodeId]}`;
2025          contentTypeOption.querySelector(".pf-checkbox").name = ct.value;
2026          contentTypeOption.querySelector(".pf-checkbox").dataset.label = ct.label;
2027          contentTypeOption.style.display = "";
2028          contentTypeOption.querySelector(".pf-checkbox").addEventListener("change", (event) => {
2029            const currentCheckedValues = window.pfResourceCenterParams?.[
2029sectionNodeId]?.["content_types"] || [];
2030            const checkedContentTypes =
2031              event.target.checked
2032                ? [...currentCheckedValues, ct.value]
2033                : currentCheckedValues.filter(x => x !== ct.value);
2034            const newParams = { ["content_types"]: checkedContentTypes, page: 1 };
2035            if (isContentPage) {
2036              pfGetContentPageContents({ sectionNodeId, updateParams: newParams });
2037            } else {
2038              pfGetContents({ sectionNodeId, updateParams: newParams });
2039            }
2040          });
2041          contentTypeOptionsWrapper.appendChild(contentTypeOption);
2042        });
2043      }
2044
2045      if (languageOptionsWrapper) {
2046        if (result.languages.length === 0) {
2047          filtersWrapper.querySelector("[class*='select-language']").style.display = "none";
2048        } else {
2049          filtersWrapper.querySelector("[class*='select-language']").style.display = "";
2050          languageOptionsWrapper.innerHTML = "";
2051        }
2052        result.languages.forEach((l) => {
2053          const languageOption = filterOptionTemplate.cloneNode(true);
2054          const screenType = languageOption?.querySelector(".pf-checkbox")?.getAttribute("data-screen");
2055          const labelSlug = l.label.replace(/\s/g, "");
2056          const idPrefix =
2057            screenType && screenType === "desktop"
2058              ? `languages-${labelSlug}-desktop`
2059              : `languages-${labelSlug}`;
2060          languageOption.querySelector(".pf-label").textContent = l.label;
2061          languageOption.querySelector(".pf-label").setAttribute("for", `${idPrefix}-${[sectionNodeId]}`);
2062          languageOption.querySelector(".pf-checkbox").id = `${idPrefix}-${[sectionNodeId]}`;
2063          languageOption.querySelector(".pf-checkbox").name = l.value;
2064          languageOption.querySelector(".pf-checkbox").dataset.label = l.label;
2065          languageOption.style.display = "";
2066          languageOption.querySelector(".pf-checkbox").addEventListener("change", (event) => {
2067            const currentCheckedValues = window.pfResourceCenterParams?.[sectionNodeId]?.languages || [];
2068            const checkedLanguages =
2069              event.target.checked
2070                ? [...currentCheckedValues, l.value]
2071                : currentCheckedValues.filter(x => x !== l.value);
2072            const newParams = { ["languages"]: checkedLanguages, page: 1 };
2073            if (isContentPage) {
2074              pfGetContentPageContents({ sectionNodeId, updateParams: newParams });
2075            } else {
2076              pfGetContents({ sectionNodeId, updateParams: newParams });
2077            }
2078          });
2079          languageOptionsWrapper.appendChild(languageOption);
2080        });
2081      }
2082
2083      const dimensionTypes = [
2084        "topics",
2085        "personas",
2086        "business_units",
2087        "industries",
2088        "products",
2089        "solutions",
2090        "funnel_stages",
2091        ...customCategoryKeys
2092      ];
2093      
2094      dimensionTypes.forEach((dt) => {
2095        const optionsWrapper = filtersWrapper.querySelector(`.pf-options-wrapper-${dt}`);
2096        if (optionsWrapper && (result.dimensions[dt] || []).length === 0) {
2097          filtersWrapper.querySelector(`.select-${dt}`).style.display = "none";
2098        }
2099        if (optionsWrapper && (result.dimensions[dt] || []).length > 0) {
2100          filtersWrapper.querySelector(`.select-${dt}`).style.display = "";
2101          optionsWrapper.innerHTML = "";
2102          result.dimensions[dt].forEach((d) => {
2103            const option = filterOptionTemplate.cloneNode(true);
2104            const screenType = option.querySelector(".pf-checkbox")?.getAttribute("data-screen");
2105            const labelSlug = d.label.replace(/\s/g, "");
2106            const idPrefix =
2107              screenType && screenType === "desktop"
2108                ? `${dt}-${labelSlug}-desktop`
2109                : `${dt}-${labelSlug}`;
2110            option.querySelector(".pf-label").textContent = d.label;
2111            option.querySelector(".pf-label").setAttribute("for", `${idPrefix}-${[sectionNodeId]}`);
2112            option.querySelector(".pf-checkbox").id = `${idPrefix}-${[sectionNodeId]}`;
2113            option.querySelector(".pf-checkbox").name = d.value;
2114            option.querySelector(".pf-checkbox").dataset.label = d.label;
2115            option.style.display = "";
2116            option.querySelector(".pf-checkbox").addEventListener("change", (event) => {
2117              const currentTypeCheckedValues = window.pfResourceCenterParams?.[
2117sectionNodeId]?.[dt] || [];
2118              const newCurrentTypeCheckedValues =
2119                event.target.checked
2120                  ? [...currentTypeCheckedValues, d.value]
2121                  : currentTypeCheckedValues.filter(x => x !== d.value);
2122              const newCheckedDimensions = [
2123                ...dimensionTypes.map((type) => {
2124                  if (type !== dt) return window.pfResourceCenterParams?.[sectionNodeId]?.[type];
2125                }),
2126                newCurrentTypeCheckedValues
2127              ].filter(x => x);
2128              const newParams = {
2129                [dt]: newCurrentTypeCheckedValues,
2130                dimensions: newCheckedDimensions,
2131                page: 1
2132              };
2133              if (isContentPage) {
2134                pfGetContentPageContents({ sectionNodeId, updateParams: newParams });
2135              } else {
2136                pfGetContents({ sectionNodeId, updateParams: newParams });
2137              }
2138            });
2139            optionsWrapper.appendChild(option);
2140          });
2141        }
2142      });
2143
2144      window.document.dispatchEvent(new CustomEvent('pfFiltersRendered', { detail: sectionNodeId }));
2145    });
2146  }
2147
2148  async function pfGetContentPageContents({ isLoadMore = false, sectionNodeId, initialLimit, pageAfterInitialLimit, updateParams = {}}) {
2149    const urlParams = new URLSearchParams(window.location.search);
2150    const filterParams = ["topics", "languages", "personas", "business_units", "industries", "products", "solutions", "content_types", "funnel_stages", ...customCategoryKeys];
2151    filterParams.forEach((p) => urlParams.delete(p));
2152    const templatedExperienceId = "11083";
2153    const contentSource = "experience";
2154    const segmentGroupId = "";
2155    const landingPageId = urlParams.get("pflpid");
2156    const lpSectionNodeId = urlParams.get("pfsid");
2157    const contents = Array.from(document.querySelectorAll(`.section-${sectionNodeId} .pf-content-card`));
2158    const contentUuids = contents.map((c) => c.dataset.uuid).filter((x) => x);
2159    const api_url = `${jukeboxApiHost}/api/public/v3/get_contents/?${urlParams.toString()}`;
2160    const initialParams = {
2161      sort: "",
2162      page: 1,
2163      search: "",
2164      dimensions: [],
2165      languages: [],
2166      content_types: []
2167    };
2168    const newParams = {
2169      ...(window.pfResourceCenterParams?.[sectionNodeId] || initialParams),
2170      ...updateParams
2171    };
2172    window.pfResourceCenterParams = {
2173      ...(window.pfResourceCenterParams || {}),
2174      [sectionNodeId]: newParams
2175    };
2176    const body = {
2177      ...newParams,
2178      templatedExperienceId,
2179      contentSource,
2180      landingPageId,
2181      sectionNodeId: lpSectionNodeId,
2182      clientId,
2183      baseUrl: "https://resources.managementcontrols.com",
2184      visitorUuid: pfGetCookie("vid"),
2185      sessionId: (pfGetCookie(/_pf_id.+/) || "").split(".")[5],
2186      segmentGroupId,
2187      isContentPage: true,
2188      loadedContentUuids: newParams.page === 1 ? [] : contentUuids
2189    };
2190    if (!isLoadMore && initialLimit) {
2191      body.limit = initialLimit;
2192    }
2193    const response = await fetch(api_url, {
2194      method: "POST",
2195      headers: { "Content-Type": "application/json" },
2196      body: JSON.stringify(body)
2197    });
2198    const result = await response.json();
2199
2200    window.pfResourceCenterParams[sectionNodeId] = {
2201      ...window.pfResourceCenterParams[sectionNodeId],
2202      totalContents: result.totalContents
2203    };
2204
2205    if (!isLoadMore && pageAfterInitialLimit) {
2206      window.pfResourceCenterParams[sectionNodeId].page = pageAfterInitialLimit;
2207    }
2208
2209    window.document.dispatchEvent(new CustomEvent('pageMetadataUpdated', { detail: sectionNodeId }));
2210
2211    // The following will handle desktop and mobile content lists
2212    const contentListWrappers = document.querySelectorAll(".pf-cards-wrapper");
2213    contentListWrappers.forEach((contentListWrapper) => {
2214      const contentCardTemplate = contentListWrapper.querySelector(".pf-content-card.template");
2215      const loadMoreButton = contentListWrapper.querySelector(".pf-load-more");
2216
2217      if (!contentCardTemplate) return;
2218
2219      if (!isLoadMore) {
2220        contentListWrapper.innerHTML = "";
2221        contentCardTemplate.style.display = "none";
2222        contentListWrapper.appendChild(contentCardTemplate);
2223
2224        const noResultsMessages = document.querySelectorAll(".pf-no-results");
2225        if ((result.contents || []).length === 0) {
2226          noResultsMessages.forEach((noResultsMessage) => {
2227            noResultsMessage.style.display = "block";
2228          });
2229        } else {
2230          noResultsMessages.forEach((noResultsMessage) => {
2231            noResultsMessage.style.display = "none";
2232          });
2233        }
2234      };
2235
2236      (result.contents || []).forEach((c) => {
2237        const contentCard = contentCardTemplate.cloneNode(true);
2238        const thumbnail = contentCard.querySelector(".pf-content-card-thumbnail");
2239        const pinnedTag = contentCard.querySelector(".pf-pinned-content-tag");
2240        const tagTemplate = contentCard.querySelector(".pf-content-tag");
2241        contentCard.dataset.uuid = c.uuid;
2242        contentCard.classList.remove("template");
2243        contentCard.querySelector(".pf-content-card-title").textContent = c.title;
2244        if (thumbnail) { 
2245          thumbnail.src = c.thumbnail;
2246          thumbnail.setAttribute("alt", c.alt_text);
2247        }
2248        contentCard.querySelector(".pf-content-card-link").href = c.url;
2249        contentCard.querySelector(".pf-content-card-link").onclick = () => {
2250          window['initializeContentEvents'] && typeof window['initializeContentEvents'] === 'function' && window['initializeContentEvents']('contentClick', {contentId: c.id});
2251        };
2252        if (c.isPinned && pinnedTag) { pinnedTag.style.display = "" }
2253        if (tagTemplate) {
2254          const enabledTags = (tagTemplate.dataset.enabledContentTags || "").split(",").filter(x => x);
2255          if (enabledTags.length > 0) {
2256            const tagsWrapper = contentCard.querySelector(".pf-content-tags-wrapper");
2257            enabledTags.forEach((tagType) => {
2258              const camelizedKey = tagType.replace(/(_\w)/g, function (match) {
2259                return match[1].toUpperCase();
2260              });
2261              [c[camelizedKey] || []].flat().forEach((tag) => {
2262                const newTag = tagTemplate.cloneNode(true);
2263                newTag.textContent = tag;
2264                newTag.style.display = "block";
2265                tagsWrapper.appendChild(newTag);
2266              });
2267            });
2268          }
2269        }
2270        contentCard.style.display = "";
2271        contentListWrapper.appendChild(contentCard);
2272      });
2273
2274      if (loadMoreButton) {
2275        contentListWrapper.appendChild(loadMoreButton); // Moves the button back to bottom
2276        const totalPages = Math.ceil(window.pfResourceCenterParams[sectionNodeId].totalContents / window.pfResourceCenterParams[sectionNodeId].limit);
2277        if (window.pfResourceCenterParams[sectionNodeId].page == totalPages) {
2278          loadMoreButton.style.display = "none";
2279        }
2280      }
2281
2282      pfUpdateCheckedFiltersCount(sectionNodeId);
2283      pfUpdateUrlsWithFilterParams(sectionNodeId);
2284    });
2285  }
2286
2287  function handleFilterChange(nodeId) {
2288    const isDeviceMobile = window.innerWidth <= 640;
2289    const isDeviceTablet = window.innerWidth <= 1024;
2290    const mobileFilters = document.querySelector(`.section-${nodeId} .mobile-filters-container`);
2291    const mobileFiltersVisible = mobileFilters && window.getComputedStyle(mobileFilters).display !== "none";
2292    const filters =
2293      mobileFiltersVisible
2294        ? mobileFilters
2295        : document.querySelector(`.section-${nodeId} .filters-container`);
2296    const search = document.querySelector(`#search-${nodeId}`)?.value?.toLowerCase() || "";
2297    const selectedTopics = filters.querySelector(".select-topics")?.value || [];
2298    const selectedLanguages = filters.querySelector(".select-languages")?.value || [];
2299    const selectedPersonas = filters.querySelector(".select-personas")?.value || [];
2300    const selectedBusinessUnits = filters.querySelector(".select-business_units")?.value || [];
2301    const selectedIndustries = filters.querySelector(".select-industries")?.value || [];
2302    const selectedProducts = filters.querySelector(".select-products")?.value || [];
2303    const selectedSolutions = filters.querySelector(".select-solutions")?.value || [];
2304    const selectedContentTypes = filters.querySelector(".select-content_types")?.value || [];
2305    const selectedFunnelStages = filters.querySelector(".select-funnel_stages")?.value || [];
2306    const filterObj = {
2307      topics: selectedTopics,
2308      languages: selectedLanguages,
2309      personas: selectedPersonas,
2310      business_units: selectedBusinessUnits,
2311      industries: selectedIndustries,
2312      products: selectedProducts,
2313      solutions: selectedSolutions,
2314      content_types: selectedContentTypes,
2315      funnel_stages: selectedFunnelStages
2316    };
2317    const carouselArrow = document.querySelector(`.carousel-arrows-${nodeId}`);
2318    const carouselSection = document.querySelector(`.carousel-${nodeId}`);
2319    const configuredTilesPerRow = carouselSection ? carouselSection?.dataset?.tilesPerRow : "";
2320    const tabletTilesPerRow = configuredTilesPerRow === "1" ? "1" : "2";
2321    const tilesPerRow = Number(isDeviceMobile ? "1" : (isDeviceTablet ? tabletTilesPerRow : configuredTilesPerRow));
2322    
2323    customCategories.forEach(filter => {
2324      const className = `.select-${filter.value}`;
2325      const selectedValue = filters.querySelector(className)?.value || []
2326      filterObj[filter.value] = selectedValue;
2327    })
2328
2329    const newQueryString = convertToQueryParams(filterObj);
2330    reconstructUrl(newQueryString);
2331    window.assets = window.assets || {};
2332    if (!window.assets[`asset-${nodeId}`]) {
2333      window.assets[`asset-${nodeId}`] = document.querySelectorAll(`.assets-${nodeId} > .asset`);
2334    }
2335    
2336    const matches = Array.from(window.assets[`asset-${nodeId}`]).filter((asset) => {
2337      const topicMatches = selectedTopics.length == 0 || selectedTopics.findIndex((topic) => asset.dataset.topics.includes(topic)) > -1;
2338      const searchMatches = asset.dataset.title.toLowerCase().includes(search) || !search;
2339      const languageMatches = selectedLanguages.length == 0 || selectedLanguages.findIndex((language) => asset.dataset.language.includes(language)) > -1;
2340      const personaMatches = selectedPersonas.length == 0 || selectedPersonas.findIndex((persona) => asset.dataset.personas.includes(persona)) > -1;
2341      const businessUnitMatches = selectedBusinessUnits.length == 0 || selectedBusinessUnits.findIndex((value) => asset.dataset.businessUnits.includes(value)) > -1;
2342      const industryMatches = selectedIndustries.length == 0 || selectedIndustries.findIndex((value) => asset.dataset.industries.includes(value)) > -1;
2343      const productMatches = selectedProducts.length == 0 || selectedProducts.findIndex((value) => asset.dataset.products.includes(value)) > -1;
2344      const solutionMatches = selectedSolutions.length == 0 || selectedSolutions.findIndex((value) => asset.dataset.solutions.includes(value)) > -1;
2345      const contentTypeMatches = selectedContentTypes.length == 0 || selectedContentTypes.findIndex((value) => asset.dataset.contentType.includes(value)) > -1;
2346      const funnelStageMatches = selectedFunnelStages.length == 0 || selectedFunnelStages.findIndex((value) => asset.dataset.funnelStages.includes(value)) > -1;
2347
2348      const customCategoriesMatches = customCategories.every(category => {
2349        const customFilter = category.value;
2350        if (filterObj[customFilter].length === 0) return true;
2351        const dataSetKey = "data-" + customFilter.replaceAll("_", "-") 
2352        return filterObj[customFilter].some(value => asset.getAttribute(dataSetKey)?.includes(value));
2353      });
2354
2355      const isPinned = asset.dataset.isPinned == "true";
2356
2357      const assetMatchesAllFilters =
2358        isPinned ||
2359          (
2360            topicMatches && searchMatches && languageMatches && personaMatches && businessUnitMatches &&
2361              industryMatches && productMatches && solutionMatches && contentTypeMatches &&
2362              funnelStageMatches && customCategoriesMatches
2363          );
2364
2365      if (assetMatchesAllFilters) {
2366        asset.style.display = "";
2367      } else {
2368        asset.style.display = "none";
2369      }
2370      
2371      return assetMatchesAllFilters;
2372    });
2373    if (matches.length === 0) {
2374      document.querySelectorAll(`.section-${nodeId} .no-results`).forEach((noResultsMessage) => {
2375        noResultsMessage.classList.remove("hidden");
2376      });
2377
2378      // This is for dynamically updating filter status message for screen reader
2379      document.querySelectorAll(`.section-${nodeId} .results-count`)?.forEach((resultCountMessage) => {
2380        resultCountMessage.textContent  =  `${matches.length} result found`;
2381      });
2382    } else {
2383      document.querySelectorAll(`.section-${nodeId} .no-results`).forEach((noResultsMessage) => {
2384        noResultsMessage.classList.add("hidden");
2385      });
2386
2387      // This is for dynamically updating filter status message for screen reader
2388      document.querySelectorAll(`.section-${nodeId} .results-count`)?.forEach((resultCountMessage) => {
2389        resultCountMessage.textContent  =  `${matches.length} results found`;
2390      });
2391    }
2392     
2393    const updatedAssets = document.createDocumentFragment();
2394    const bulletsContainer = document.querySelector(`.carousel-${nodeId} .glide__bullets`);
2395    const showCarouselArrow = matches.length > tilesPerRow;
2396
2397    if (bulletsContainer) {
2398      const updatedBulletContainer = document.createDocumentFragment();
2399      bulletsContainer.innerHTML = '';
2400      matches.forEach((asset, index) => {
2401          updatedAssets.appendChild(matches[index]);
2402           const i = index + 1;
2403          if (tilesPerRow) {
2404            const remainder = (i + tilesPerRow)  % tilesPerRow;
2405            const buttonElement = document.createElement('button');
2406            buttonElement.className = `glide__bullet ${!(remainder == 1 || tilesPerRow == 1) && 'glide__bullet--between'}`;
2407            buttonElement.setAttribute('data-glide-dir', `=${i-1}`);
2408            buttonElement.setAttribute('aria-label', `scroll to content ${i}`);
2409            updatedBulletContainer.appendChild(buttonElement);
2410          }
2411      });
2412      const carouselContainer = document.querySelector(`.carousel-${nodeId} .assets-${nodeId}`);
2413      if (carouselContainer) {
2414        carouselContainer.innerHTML = '';
2415        carouselContainer.appendChild(updatedAssets);
2416      }
2417      updatedBulletContainer && bulletsContainer.appendChild(updatedBulletContainer);
2418      if (window.pfGlides && window.pfGlides[`glide-${nodeId}`]) {
2419        const mountAndGo = window.customThrottle(() => {
2420          window.pfGlides[`glide-${nodeId}`].destroy();
2421          const carousel = document.querySelector(`.carousel-${nodeId}`);
2422          if (carousel) {
2423            window.pfGlides[`glide-${nodeId}`] = new Glide(carousel, window.carouselConfiguration ? window.carouselConfiguration[`glide-${nodeId}`] : {});
2424            window.pfGlides[`glide-${nodeId}`].mount();
2425            window.pfGlides[`glide-${nodeId}`].go('=0');
2426          }
2427        }, 1000);
2428        mountAndGo();
2429      }
2430    }
2431
2432    function showHideCarouselActions(type) {
2433      if (bulletsContainer) {
2434        bulletsContainer.style.display = type;
2435      }
2436      if (carouselArrow?.style) {
2437        carouselArrow.style.display = type;
2438      }
2439    }
2440    showHideCarouselActions(showCarouselArrow ? "" : "none");
2441  }
2442</script>
2442
2443
2444
2445
2446<script>
2447  function trapElementFocus(wrapper, event) {
2448    if (wrapper && !wrapper.classList.contains("hidden")) {
2449      function isVisible(element) {
2450        return element.offsetParent !== null;
2451      }
2452  
2453      let wrapperElements = [
2454        ...wrapper.querySelectorAll(
2455          "button, a[href], input, select, textarea, [tabindex]:not([tabindex='-1'])"
2456        ),
2457      ].filter((el) => isVisible(el) && el.tabIndex !== -1);
2458  
2459      if (wrapperElements.length > 0) {
2460        const firstElement = wrapperElements[0];
2461        const lastElement = wrapperElements[wrapperElements.length - 1];
2462  
2463        if (event.shiftKey && document.activeElement === firstElement) {
2464          lastElement.focus();
2465          event.preventDefault();
2466        } else if (!event.shiftKey && document.activeElement === lastElement) {
2467          firstElement.focus();
2468          event.preventDefault();
2469        }
2470      }
2471    }
2472  }
2473</script>
2473
2474
2475
2476<script defer>
2477  const pfShowCookieSettingsModal = () => {
2478    const cookieSettingsContainer = document.querySelector("#qa-modal-container");
2479    const cookieSettingsModal = document.querySelector("#qa-modal-background");
2480    if (cookieSettingsModal && cookieSettingsContainer) {
2481      cookieSettingsModal.style.display = "block";
2482      cookieSettingsContainer.style.display = "block";
2483      const toggle = cookieSettingsContainer.querySelector("#optIn-checkbox");
2484      toggle.checked = pfConsentStatus();
2485    }
2486  };
2487</script>
2487
2488
2489
2490<script defer>
2491  document.addEventListener("click", (event) => {
2492    document.querySelectorAll(".select-container").forEach((select) => {
2493      if (!select.contains(event.target)) {
2494        select.querySelector(".dropdown-list").classList.add("hidden");
2495      }
2496    });
2497  });
2498</script>
2498
2499
2500
2501<script>
2502  document.addEventListener("DOMContentLoaded", () => {
2503    const hash = window.location.hash;
2504    if (hash) {
2505      const observer = new MutationObserver((mutations) => {
2506        const target = document.querySelector(hash);
2507        if (!target) return;
2508        setTimeout(() => {
2509          target.scrollIntoView({ behavior: "smooth" });
2510          observer.disconnect();
2511        }, 50);             
2512      });
2513      observer.observe(document.body, { childList: true, subtree: true });
2514    }
2515  });
2516</script>
2516
2517
2518
2519
2520
2521
2522
2523<script>
2524  (function(j,o,u,r,n,e,y){j["pfObject"]=n;j[n]=j[n]||function(){
2525    (j[n].q=j[n].q||[]).push(arguments)},j[n].l=1*new Date();e=o.createElement(u),
2526    y=o.getElementsByTagName(u)[0];e.async=1;e.src=r;y.parentNode.insertBefore(e,y)
2527  })(window,document,"script","https://cdn-app.pathfactory.com/libraries/journey/current/journey.js","pf");
2528  pf("create", "LB-A955EE42-11171", {
2529    appId: "e7c685c5-6ceb-4f75-b303-3a58e38d14b5",
2530    collectorUrl: "spcollector.pathfactory.com",
2531    consentDeclinedCookieLifetimeDays: "1/48",
2532    contentId: '886663',
2533    contentUuid: "a9bf5ce2-3524-48e6-aa82-06a7ccb66b6c",
2534    cookieLifetimeDays: "730",
2535    experienceId: '192386',
2536    experienceUuid: "084b03c0-6e0f-438c-88d4-9840202a69ba",
2537    gdprCookieConsentEnabled: false,
2538    marketingAutomationPlatform: "hubspot",
2539    landingPageContentUuid: "",
2540    jukeboxApiHost: "https://jukebox.pathfactory.com",
2541    collectionUuid: "",
2542    childTrackExperienceUuid: "",
2543    enableDemandBase: true,
2544    enableNvidiaNcidCookie: false,
2545    baseUrl: "https://resources.managementcontrols.com",
2546    segmentGroupId: "",
2547    enableSixSense: false,
2548    sixSenseApiKey: "",
2549    sixSenseCustomIdToken: "",
2550    sixSenseCacheDuration: "86400",
2551    requestIp: "181.215.65.76",
2552    engagementThreshold: 0,
2553    contentTitle: "Press Releases & News Articles - Quotes & Mentions",
2554    contentUrl: "news-releases-mentions",
2555    experienceTypeValue: "5",
2556    snowplowSignalsEnabled: false
2557  });
2558</script>
2558
2559
2560
2561
2562<script>
2563  const elementInView = (elem) => {
2564      if (!elem) {
2565      return;
2566      }
2567      var bounding = elem.getBoundingClientRect();
2568      return (
2569      bounding.top >= 0 &&
2570      bounding.left >= 0 &&
2571      bounding.bottom <=
2572          (window.innerHeight || document.documentElement.clientHeight) &&
2573      bounding.right <=
2574          (window.innerWidth || document.documentElement.clientWidth)
2575      );
2576  };
2577  window.customThrottle = (cb, delay) => {
2578      let wait = false;
2579      let storedArgs = null;
2580  
2581      const checkStoredArgs = () => {
2582          if (storedArgs == null) {
2583              wait = false;
2584          } else {
2585              cb(...storedArgs);
2586              storedArgs = null;
2587              setTimeout(checkStoredArgs, delay);
2588          }
2589      };
2590  
2591      return (...args) => {
2592          if (wait) {
2593              storedArgs = args;
2594              return;
2595          }
2596      
2597          cb(...args);
2598          wait = true;
2599          setTimeout(checkStoredArgs, delay);
2600      };
2601  };
2602</script>
2602
2603
2604
2605<script>
2606  window.viewedEmbedForms = [];
2607  const embedFormLoaded = (retryCount, formId, formType) => {
2608    setTimeout(() => {
2609      if (window["showForm"] && typeof window["showForm"] === "function") {
2610        window.showForm({
2611          formType: formType,
2612          formData: { value: formId }
2613        });
2614      } else if (retryCount < 5) {
2615        retryCount++;
2616        embedFormLoaded(retryCount, formId, formType);
2617      }
2618    }, 500);
2619  };
2620  const initEmbedFormShow = (formId, formType, nodeId) => {
2621    const scrollElementToView = () => {
2622      if (window.viewedEmbedForms && !window.viewedEmbedForms.includes(nodeId)) {
2623        const embedFormView = elementInView && elementInView(document.querySelector(`.embed-form-section-${nodeId} .embed-form-container`));
2624        if (embedFormView) {
2625          embedFormLoaded && embedFormLoaded(0, formId, formType);
2626          window.viewedEmbedForms.push(nodeId);
2627        }
2628      }
2629    }
2630    if (window.customThrottle) {
2631      document.addEventListener("scroll", window.customThrottle(scrollElementToView, 1000));
2632    }
2633  }
2634</script>
2634
2635
2636
2637
2638
2639<script>
2640  window.getPFContact = function() {
2641    var api_host = "https://resources.managementcontrols.com";
2642    return fetch(`${api_host}/get_contact`);
2643  };
2644</script>
2644
2645
2646
2647<script defer>
2648  function handleOverlay(retries = 0) {
2649    var nextRetryCount = retries + 1;
2650    var rawOverlayUrl =
2651      window.location.search.substring(1).split("&").filter(function(query) {
2652        return query.indexOf("overlay_url=") == 0
2653      })[0]
2654    var overlayUrl = rawOverlayUrl ? decodeURIComponent(rawOverlayUrl.replace("overlay_url=", "")) : null;
2655    var overlayContentLink = document.querySelector(`a[data-lookbook-overlay-href^="${overlayUrl}"]`);
2656    const browserHost = new URL(window.location.href).hostname;
2657    const overlayUrlHost = (() => {
2658      try {
2659        const parsedUrl = new URL(overlayUrl);
2660        const parsedProtocol = parsedUrl.protocol;
2661        if (["https:", "http:"].includes(parsedProtocol)) {
2662          return parsedUrl.hostname;
2663        } else {
2664          return null;
2665        }
2666      } catch {
2667        return null;
2668      }
2669    })();
2670    const validOverlayUrl = !!overlayUrlHost && browserHost === overlayUrlHost;
2671    if (overlayUrl && overlayContentLink) {
2672      overlayContentLink.click()
2673    } else if (overlayUrl && validOverlayUrl) {
2674      var a = document.createElement('a');
2675      a.setAttribute("data-lookbook-overlay-href", overlayUrl);
2676      a.setAttribute("data-lookbook-close-background-color", "#ff9933");
2677      a.href = overlayUrl;
2678      a.style.display = "hidden";
2679      document.body.appendChild(a);
2680      a.click();    
2681    } else if (retries <= 10) {
2682      setTimeout(function() { handleOverlay(nextRetryCount) }, 500);
2683    }
2684  };
2685
2686  document.addEventListener("DOMContentLoaded", () => {
2687    handleOverlay();
2688  });
2689</script>
2689
2690
2691<script>
2692  function pfSelectElements({selector, indexes}, callback) {
2693    let elements = Array.from(document.querySelectorAll(selector));
2694
2695    if (Array.isArray(indexes)) {
2696      elements = elements.filter((_x, i) => indexes.includes(i));
2697    }
2698
2699    elements.forEach((e, i) => callback(e, i));
2700  }
2701
2702  function pfStripTextContent(targetNode) {
2703    let totalChars = 0;
2704
2705    function removeText(node) {
2706      if (node.nodeType === Node.TEXT_NODE) {
2707        totalChars += node.textContent.length;
2708        node.textContent = '';
2709      }
2710  
2711      if (node.nodeType === Node.ELEMENT_NODE) {
2712        if (node.tagName.toLowerCase() === "li" && node.textContent.trim() !== "") {
2713          node.style.visibility = "hidden";
2714        }
2715        node.childNodes.forEach(removeText);
2716      }
2717    }
2718
2719    removeText(targetNode);
2720
2721    return totalChars;
2722  }
2723
2724  function pfGetTextNodes(targetNode) {
2725    const textNodes = [];
2726    const treeWalker = document.createTreeWalker(
2727      targetNode,
2728      NodeFilter.SHOW_TEXT,
2729    );
2730
2731    while (treeWalker.nextNode()) {
2732      textNodes.push({ text: treeWalker.currentNode.data, textNode: treeWalker.currentNode});
2733    }
2734
2735    return textNodes;
2736  }
2737  
2738  function pfApplyTypewriterAnimation({
2739    selector,
2740    indexes = undefined,
2741    duration = 3,
2742    delay = 1,
2743    loop = false,
2744    loopDelay = 0
2745  }) {
2746    pfSelectElements({ selector, indexes }, (element, i) => {
2747      element.style.visibility = "hidden";
2748      let step = 0;
2749      setTimeout(() => {
2750        const elementOriginalHeight = element.offsetHeight;
2751        element.style["min-height"] = `${elementOriginalHeight}px`;
2752        const textNodes = pfGetTextNodes(element);
2753        const totalChars = pfStripTextContent(element);
2754        const interval = Math.floor((duration * 1000) / totalChars);
2755        element.style.visibility = "";
2756        textNodes.forEach((tn) => {
2757          for (let i = 1; i <= tn.text.length; i++) {
2758            step++;
2759            setTimeout(() => {
2760              if (tn.textNode.parentNode.closest("li")) {
2761                tn.textNode.parentNode.closest("li").style.visibility = "";
2762              }
2763              tn.textNode.textContent = tn.text.substring(0, i);
2764            }, interval * step);
2765          }
2766        });
2767
2768        setTimeout(() => {
2769          element.style["min-height"] = "";
2770        }, duration * 1000);
2771
2772        if (loop && i === 0) {
2773          setTimeout(() => {
2774            pfApplyTypewriterAnimation({ selector, indexes, duration, delay, loop, loopDelay });
2775          }, (duration + loopDelay) * 1000);
2776        }
2777      }, delay * 1000);
2778    });
2779  }
2780
2781  function pfApplySlideAnimation({
2782    selector,
2783    indexes = undefined,
2784    direction = "right",
2785    duration = 2,
2786    delay = 1,
2787    loop = false,
2788    loopDelay = 0
2789  }) {
2790    pfSelectElements({ selector, indexes }, (element, i) => {
2791      const initialState = {
2792        right: { axis: "X", axisDirection: "-", unit: "vw" },
2793        left: { axis: "X", axisDirection: "", unit: "vw" },
2794        top: { axis: "Y", axisDirection: "", unit: "vh" },
2795        bottom: { axis: "Y", axisDirection: "-", unit: "vh" }
2796      }[direction] || { axis: "X", axisDirection: "-", unit: "vw" };
2797    
2798      const section = element.closest("section");
2799      section.style.overflow = "hidden";
2800      element.style.transition = "";
2801      element.style.transform = `translate${initialState.axis}(${initialState.axisDirection}100${initialState.unit})`;
2802    
2803      setTimeout(() => {
2804        element.style.transition = `transform ${duration}s ease`;
2805        element.style.transform = `translate${initialState.axis}(0)`;
2806        element.style.transform = "";
2807
2808        setTimeout(() => {
2809          section.style.overflow = "";
2810        }, duration * 1000);
2811
2812        if (loop && i === 0) {
2813          setTimeout(() => {
2814            pfApplySlideAnimation({ selector, indexes, direction, duration, delay, loop, loopDelay });
2815          }, (duration + loopDelay) * 1000);
2816        }
2817      }, delay * 1000);
2818    });
2819  }
2820
2821  function pfApplyFadeAnimation({
2822    selector,
2823    indexes = undefined,
2824    duration = 2,
2825    delay = 1,
2826    loop = false,
2827    loopDelay = 0
2828  }) {
2829    pfSelectElements({ selector, indexes }, (element, i) => {
2830      element.style.transition = "";
2831      element.style.opacity = 0;
2832      element.offsetHeight;
2833
2834      setTimeout(() => {
2835        element.style.transition = `opacity ${duration}s ease`;
2836        element.style.opacity = 1;
2837
2838        if (loop && i === 0) {
2839          setTimeout(() => {
2840            pfApplyFadeAnimation({ selector, indexes, duration, delay, loop, loopDelay });
2841          }, (duration + loopDelay) * 1000);
2842        }
2843      }, delay * 1000);
2844    });
2845  }
2846
2847  function pfApplyExpandAnimation({
2848    selector,
2849    indexes = undefined,
2850    duration = 2,
2851    delay = 1,
2852    loop = false,
2853    loopDelay = 0
2854  }) {
2855    pfSelectElements({ selector, indexes }, (element, i) => {
2856      element.style.transition = "";
2857      element.style.transform = "scale(0)";
2858      element.style.transformOrigin = "center";
2859      element.offsetHeight;
2860
2861      setTimeout(() => {
2862        element.style.transition = `transform ${duration}s ease`;
2863        element.style.transform = "scale(1)";
2864        element.style.transform = "";
2865
2866        if (loop && i === 0) {
2867          setTimeout(() => {
2868            pfApplyExpandAnimation({ selector, indexes, duration, delay, loop, loopDelay });
2869          }, (duration + loopDelay) * 1000);
2870        }
2871      }, delay * 1000);
2872    });
2873  }
2874
2875  function pfApplySqueezeAnimation({
2876    selector,
2877    indexes = undefined,
2878    duration = 2,
2879    delay = 1,
2880    loop = false,
2881    loopDelay = 0
2882  }) {
2883    pfSelectElements({ selector, indexes }, (element, i) => {
2884      element.style.animation = "";
2885      element.style.transformOrigin = "center";
2886
2887      setTimeout(() => {
2888        element.style.animation = `squeeze ${duration}s ease`;
2889
2890        if (loop && i === 0) {
2891          setTimeout(() => {
2892            pfApplySqueezeAnimation({ selector, indexes, duration, delay, loop, loopDelay });
2893          }, (duration + loopDelay) * 1000);
2894        }
2895      }, delay * 1000);
2896    });
2897  }
2898
2899  function pfAnimationFunctions(type) {
2900    return (
2901      {
2902        typewriter: pfApplyTypewriterAnimation,
2903        expand: pfApplyExpandAnimation,
2904        squeeze: pfApplySqueezeAnimation,
2905        fade: pfApplyFadeAnimation,
2906        slide: pfApplySlideAnimation
2907      }[type] || (() => {})
2908    );
2909  }
2910</script>
2910
2911
2912<style>
2913  @keyframes squeeze {
2914    0% {
2915      transform: scale(1);
2916    }
2917    50% {
2918      transform: scale(0.5);
2919    }
2920    100% {
2921      transform: scale(1);
2922    }
2923  }
2924</style>
2925
2926
2927
2928
2929<style>
2930  .glide__arrow {
2931    color: rgba(25, 25, 25, 0.5);
2932    top: 40%;
2933    border: none;
2934    box-shadow: none;
2935  }
2936  .glide__arrow--left {
2937    left: -40px;
2938  }
2939  .glide__arrow--right {
2940    right: -40px;
2941  }
2942  .glide__bullets {
2943    bottom: 0;
2944  }
2945  .glide__bullet {
2946    width: 15px;
2947    height: 15px;
2948    background-color: rgba(125, 125, 125, 0.5);
2949  }
2950  .glide__bullet--active {
2951    background-color: #ff9933;
2952  }
2953  .glide__bullet:hover,
2954  .glide__bullet:focus {
2955    background-color: #ff9933;
2956  }
2957  .glide__bullet--between {
2958    display: none;
2959  }
2960  .glide__bullet--between.glide__bullet--active {
2961    display: block;
2962    position: relative;
2963    left: -23px;
2964    margin-right: -19px;
2965  }
2966</style>
2967
2968
2969
2970<style>
2971  #content-page {
2972    height: 100vh;
2973  }
2974  .video-js { width: 100%; height: 100% }
2975</style>
2976
2977
2978<style>
2979  .pf-full-width-rte .pf-rte-wrapper {
2980    width: 100%;
2981  }
2982  .pf-rte-wrapper ul, .pf-rte-wrapper ol {
2983    list-style: revert;
2984    list-style-position: inside;
2985    margin: revert;
2986    padding: revert;
2987  }
2988  .pf-rte-wrapper menu {
2989    list-style: revert !important;
2990    margin: revert !important;
2991    padding: revert !important;
2992  }
2993  .pf-rte-wrapper ul p, .pf-rte-wrapper ol p {
2994    display: inline;
2995  }
2996</style>
2997
2998
2999<style>
3000  .pf-aem-fragment .container {
3001    max-width: none;
3002  }
3003</style>
3004
3005
3006<style>
3007  html {
3008    scroll-behavior: smooth;
3009  }
3010</style>
3011
3012
3013<style>
3014  .lookbook-overlay {
3015    z-index: 10000000;
3016  }
3017</style>
3018
3019
3020<style>
3021  body:has(div[class*='pf-modal'][style*='display: block']) {
3022    overflow: hidden;
3023  }
3024</style>
3025
3026
3027<style>
3028  .pf-ai-response ul {
3029    list-style: revert;
3030    margin: revert;
3031    padding: revert;
3032  }
3033</style>
3034
3035
3036<style>
3037  .visually-hidden {
3038      clip: rect(0 0 0 0);
3039      clip-path: inset(50%);
3040      height: 1px;
3041      overflow: hidden;
3042      position: absolute;
3043      white-space: nowrap;
3044      width: 1px;
3045  }
3046</style>
3047
3048
3049<style>
3050  header:has(.pf-modal[style*="display: block"]) ~ header {
3051    position: relative;
3052    z-index: 0;
3053  }
3054  header:hover ~ header {
3055    position: relative;
3056    z-index: 0;
3057  }
3058</style>
3059
3060
3061<link rel="preconnect" href="https://fonts.googleapis.com">
3062<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
3063<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700&family=Roboto:wght@300;400;500;700&family=Lato:wght@300;400;700&display=swap" onload="this.onload=null;this.rel='stylesheet'">
3064<noscript><link href="https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700&family=Roboto:wght@300;400;500;700&family=Lato:wght@300;400;700&display=swap" rel="stylesheet"></noscript>
3065
3066<style>
3067	@font-face {
3068    font-family: RobotoCondensed;
3069    src: url('https://cdn.pathfactory.com/assets/2/fonts/982b1aae-839b-4f2f-9a5f-c6778a284715.ttf') format('truetype');
3070  }
3071	@font-face {
3072    font-family: OpenSansRegular;
3073    src: url('https://cdn.pathfactory.com/assets/2/fonts/8485a1bf-9e7b-4b06-a956-9974a7ee5744.woff') format('woff');
3074  }
3075	@font-face {
3076    font-family: OpenSansCondensedRegular;
3077    src: url('https://cdn.pathfactory.com/assets/2/fonts/3398f2d7-b7f2-4148-8203-fdd33b072125.woff') format('woff');
3078  }
3079	@font-face {
3080    font-family: OpenSansSemiCondensedRegular;
3081    src: url('https://cdn.pathfactory.com/assets/2/fonts/f287f191-c757-4bcc-ba3c-9ea81b94b45f.woff') format('woff');
3082  }
3083	@font-face {
3084    font-family: proximanovalight;
3085    src: url('https://cdn.pathfactory.com/assets/2/fonts/96ec8ae1-1c42-421f-b5ad-31fe67ce35d2.woff') format('woff');
3086  }
3087	@font-face {
3088    font-family: proximanovabold;
3089    src: url('https://cdn.pathfactory.com/assets/10612/fonts/cbd5d179-5863-4912-a662-4b8a782648f0.otf') format('opentype');
3090  }</style>
3091<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: 18px; font-weight: normal; font-family: proximanovabold; line-height: 1.2; } .pf_font_preset_5 { font-size: 16px; font-weight: normal; font-family: proximanovalight; line-height: 1.3; } .pf_font_preset_6 { font-size: 14px; font-weight: normal; font-family: proximanovabold; line-height: 1; } .pf_font_preset_7 { font-size: 18px; font-weight: 700; font-family: proximanovabold; line-height: ; } p[style*="line-height"] .pf_font_preset_0, h1[style*="line-height"] .pf_font_preset_0, h2[style*="line-height"] .pf_font_preset_0, h3[style*="line-height"] .pf_font_preset_0, h4[style*="line-height"] .pf_font_preset_0, blockquote[style*="line-height"] .pf_font_preset_0, li[style*="line-height"] .pf_font_preset_0, p[style*="line-height"] .pf_font_preset_1, h1[style*="line-height"] .pf_font_preset_1, h2[style*="line-height"] .pf_font_preset_1, h3[style*="line-height"] .pf_font_preset_1, h4[style*="line-height"] .pf_font_preset_1, blockquote[style*="line-height"] .pf_font_preset_1, li[style*="line-height"] .pf_font_preset_1, p[style*="line-height"] .pf_font_preset_2, h1[style*="line-height"] .pf_font_preset_2, h2[style*="line-height"] .pf_font_preset_2, h3[style*="line-height"] .pf_font_preset_2, h4[style*="line-height"] .pf_font_preset_2, blockquote[style*="line-height"] .pf_font_preset_2, li[style*="line-height"] .pf_font_preset_2, p[style*="line-height"] .pf_font_preset_3, h1[style*="line-height"] .pf_font_preset_3, h2[style*="line-height"] .pf_font_preset_3, h3[style*="line-height"] .pf_font_preset_3, h4[style*="line-height"] .pf_font_preset_3, blockquote[style*="line-height"] .pf_font_preset_3, li[style*="line-height"] .pf_font_preset_3, p[style*="line-height"] .pf_font_preset_4, h1[style*="line-height"] .pf_font_preset_4, h2[style*="line-height"] .pf_font_preset_4, h3[style*="line-height"] .pf_font_preset_4, h4[style*="line-height"] .pf_font_preset_4, blockquote[style*="line-height"] .pf_font_preset_4, li[style*="line-height"] .pf_font_preset_4, p[style*="line-height"] .pf_font_preset_5, h1[style*="line-height"] .pf_font_preset_5, h2[style*="line-height"] .pf_font_preset_5, h3[style*="line-height"] .pf_font_preset_5, h4[style*="line-height"] .pf_font_preset_5, blockquote[style*="line-height"] .pf_font_preset_5, li[style*="line-height"] .pf_font_preset_5, p[style*="line-height"] .pf_font_preset_6, h1[style*="line-height"] .pf_font_preset_6, h2[style*="line-height"] .pf_font_preset_6, h3[style*="line-height"] .pf_font_preset_6, h4[style*="line-height"] .pf_font_preset_6, blockquote[style*="line-height"] .pf_font_preset_6, li[style*="line-height"] .pf_font_preset_6, p[style*="line-height"] .pf_font_preset_7, h1[style*="line-height"] .pf_font_preset_7, h2[style*="line-height"] .pf_font_preset_7, h3[style*="line-height"] .pf_font_preset_7, h4[style*="line-height"] .pf_font_preset_7, blockquote[style*="line-height"] .pf_font_preset_7, li[style*="line-height"] .pf_font_preset_7 { line-height: inherit !important; } @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>
3092
3093    
3094    
3095  </head>
3096  <body un-cloak class="mb-[0px]">
3097    
3098    <section data-pf-theme-artefact-id="custom-header"
3099      data-pf-theme-artefact-file-id="31f0be85-97f5-44c0-97e0-341d411a20e2"
3100      data-pf-theme-artefact-filename="custom-header"
3101      data-pf-theme-block-id="ZTgnJ1wZk-"
3102      data-pf-theme-block-type="section"
3103      data-pf-theme-block-pos="0"
3104      data-pf-theme-block-ref="header"><div id="injected-header">
3105    <header class="header">
3106        <div class="outer-top-header-container">
3107            <div class="container-fluid footer__container content-wrapper">
3108                <div class="row-fluid-wrapper">
3109                    <div class="row-fluid">
3110                        <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
3111                            <div class="row-fluid-wrapper row-depth-1 row-number-1 very-top-section-header-row-0-padding dnd-section">
3112                                <div class="row-fluid ">
3113                                    <div class="span12 widget-span widget-type-cell very-top-section-header-column-1-padding dnd-column" data-widget-type="cell" data-x="0" data-w="12">
3114                                        <div class="row-fluid-wrapper row-depth-1 row-number-2 very-top-section-header-column-1-row-0-margin dnd-row">
3115                                            <div class="row-fluid "></div>
3116                                            <!--end row-->
3117                                        </div>
3118                                        <!--end row-wrapper -->
3119                                        <div class="row-fluid-wrapper row-depth-1 row-number-3 dnd-row very-top-section-header-column-1-row-1-margin">
3120                                            <div class="row-fluid ">
3121                                                <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
3122                                                    <div id="hs_cos_wrapper_very-top-section-header-module-2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="module">
3123                                                        <span id="hs_cos_wrapper_very-top-section-header-module-2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text">
3124                                             <div id="upper-header-container" style="text-align: right; font-size: 14.4px; color:#FFFFFF!important;"><a rel="noopener" style="color:#ff9933; text-decoration: underline" href="https://mytracksoftware.com/#/auth" target="_blank" data-internal="false" class="hooked">Log into myTrack </a>&nbsp;<span><a href="/cdn-cgi/l/email-protection#0271636e6771426f61616d70722c616d6f" rel="noopener" target="_blank" data-internal="false" class="hooked">&nbsp;<span style="color: #fff;"><span class="__cf_email__" data-cfemail="6e1d0f020b1d2e030d0d011c1e400d0103">[email&#160;protected]</span></span>&nbsp;&nbsp;</a></span><span>1-855-89-TRACK (87225)</span></div>
3125                                                    </span>
3126                                                </div>
3127                                            </div>
3128                                            <!--end widget-span -->
3129                                        </div>
3130                                        <!--end row-->
3131                                    </div>
3132                                    <!--end row-wrapper -->
3133                                </div>
3134                                <!--end widget-span -->
3135                            </div>
3136                            <!--end row-->
3137                        </div>
3138                        <!--end row-wrapper -->
3139                    </div>
3140                    <!--end widget-span -->
3141                </div>
3142            </div>
3143        </div>
3144</div>
3145<!--.outer-top-header-container-->
3146<div class="container-fluid content-wrapper">
3147    <div class="row-fluid-wrapper">
3148        <div class="row-fluid">
3149            <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
3150            </div>
3151            <!--end widget-span -->
3152        </div>
3153    </div>
3154</div>
3155<div class="header__container content-wrapper">
3156    <div class="header__logo header__logo--main">
3157        <div class="header__logo header__logo--main">
3158            <div id="hs_cos_wrapper_module_17047452142093" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-logo" data-hs-cos-general-type="widget" data-hs-cos-type="module">
3159                <span id="hs_cos_wrapper_module_17047452142093_hs_logo_widget" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_logo" data-hs-cos-general-type="widget" data-hs-cos-type="logo"><a href="https://www.managementcontrols.com/" id="hs-link-module_17047452142093_hs_logo_widget" style="border-width:0px;border:0px;" data-internal="false" rel="noopener" class="hooked"><img src="https://6486746.fs1.hubspotusercontent-na1.net/hubfs/6486746/Home%202024%20Assets/Management-Controls-Logo.svg" class="hs-image-widget " height="47" style="height: auto;width:182px;border-width:0px;border:0px;" width="182" alt="Management-Controls-Logo" title="Management-Controls-Logo"></a></span>
3160            </div>
3161        </div>
3162    </div>
3163    <div class="header__column">
3164        <div class="header__row-2">
3165            <div class="header--toggle header__navigation--toggle"></div>
3166            <div class="header__close--toggle"></div>
3167            <div class="header__navigation header--element">
3168                <div id="hs_cos_wrapper_navigation-primary" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" data-hs-cos-general-type="widget" data-hs-cos-type="module">
3169                    <nav class="menu menu--desktop" aria-label="Main menu">
3170                        <ul class="menu__wrapper no-list">
3171                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3172                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">myTrack Platform</a>
3173                                <button class="menu__child-toggle no-button" aria-expanded="false">
3174                              <span class="show-for-sr">Show submenu for myTrack Platform</span>
3175                              <span class="menu__child-toggle-icon"></span>
3176                              </button>
3177                                <!-- Custom Mega Menu -->
3178                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3179                                    <div class="full-ul-container">
3180                                        <div class="outer-ul-container">
3181                                            <p id="navigation-orange-nav">PLATFORM</p>
3182                                            <span id="hs_cos_wrapper_navigation-primary_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
3183                                          <div id="hs_menu_wrapper_navigation-primary_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="161347168672" aria-label="Navigation Menu">
3184                                             <ul role="menu">
3185                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/mytrack-platform/overview" role="menuitem" data-internal="false" rel="noopener" class="hooked">myTrack Overview</a></li>
3186                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://managementcontrols.com/mytrack-platform/overview/labor-equipment-and-material-tracking" role="menuitem" data-internal="false" rel="noopener" class="hooked">Labor, Equipment, and Materials Tracking</a></li>
3187                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/myTrack-platform/overview/automated-contract-compliance" role="menuitem" data-internal="false" rel="noopener" class="hooked">Automated Contract Compliance</a></li>
3188                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://managementcontrols.com/mytrack-platform/mobile-workforce-management" role="menuitem" data-internal="false" rel="noopener" class="hooked">Mobility</a></li>
3189                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/myTrack-platform/overview/safety" role="menuitem" data-internal="false" rel="noopener" class="hooked">Safety</a></li>
3190                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://managementcontrols.com/mytrack-platform/overview/insights-and-analytics" role="menuitem" data-internal="false" rel="noopener" class="hooked">Insights &amp; Analytics</a></li>
3191                                             </ul>
3192                                          </div>
3193                                       </span>
3194                                        </div>
3195                                        <div class="inner-ul-container">
3196                                            <p id="navigation-orange-nav">INTEGRATIONS &amp; PARTNERS</p>
3197                                            <br>
3198                                            <div class="full-specialized-container">
3199                                                <span id="hs_cos_wrapper_navigation-primary_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
3200                                             <div id="hs_menu_wrapper_navigation-primary_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="161347168688" aria-label="Navigation Menu">
3201                                                <ul role="menu">
3202                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/myTrack-platform/integrations-and-security" role="menuitem" data-internal="false" rel="noopener" class="hooked">Integrations &amp; Security</a></li>
3203                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://managementcontrols.com/mytrack-platform/our-partners" role="menuitem" data-internal="false" rel="noopener" class="hooked">Technology Partners</a></li>
3204                                                </ul>
3205                                             </div>
3206                                          </span>
3207                                            </div>
3208                                            <!--.full-specialized-container-->
3209                                        </div>
3210                                    </div>
3211                                </ul>
3212                                <!-- END CUSTOM MENU ------------>
3213                            </li>
3214                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite" style="display: none;">
3215                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">Company</a>
3216                                <button class="menu__child-toggle no-button" aria-expanded="false">
3217                              <span class="show-for-sr">Show submenu for Company</span>
3218                              <span class="menu__child-toggle-icon"></span>
3219                              </button>
3220                                <!-- Custom Mega Menu -->
3221                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3222                                    <div class="full-ul-container">
3223                                    </div>
3224                                    <!--.full-ul-container-->
3225                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3226                                        <a class="menu__link hooked" href="https://managementcontrols.com/company/about-mci" data-internal="false" rel="noopener">About Us</a>
3227                                    </li>
3228                                      <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3229                                        <a class="menu__link hooked" href="https://www.managementcontrols.com/company/our-customers" data-internal="false" rel="noopener">Our Customers</a>
3230                                    </li><li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3231                                        <a class="menu__link hooked" href="https://managementcontrols.com/company/meet-our-team" data-internal="false" rel="noopener">Meet Our Team</a>
3232                                    </li>
3233                                    
3234                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3235                                        <a class="menu__link hooked" href="https://www.managementcontrols.com/company/careers" data-internal="false" rel="noopener">Careers</a>
3236                                    </li>
3237                                </ul>
3238                                <!-- END CUSTOM MENU ------------>
3239                            </li>
3240                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3241                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">What we offer</a>
3242                                <button class="menu__child-toggle no-button" aria-expanded="false">
3243                              <span class="show-for-sr">Show submenu for What we offer</span>
3244                              <span class="menu__child-toggle-icon"></span>
3245                              </button>
3246                                <!-- Custom Mega Menu -->
3247                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3248                                    <div class="full-ul-container">
3249                                        <div class="outer-ul-container">
3250                                            <p id="navigation-orange-nav">BY FUNCTION</p>
3251                                            <span id="hs_cos_wrapper_navigation-primary_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
3252                                          <div id="hs_menu_wrapper_navigation-primary_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="161595097474" aria-label="Navigation Menu">
3253                                             <ul role="menu">
3254                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-role/maintenance" role="menuitem" data-internal="false" rel="noopener" class="hooked">Maintenance</a></li>
3255                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-role/shutdown-turnaround-and-outage" role="menuitem" data-internal="false" rel="noopener" class="hooked">STO</a></li>
3256                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-role/capital-expenditure" role="menuitem" data-internal="false" rel="noopener" class="hooked">CapEx</a></li>
3257                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-role/finance" role="menuitem" data-internal="false" rel="noopener" class="hooked">Finance</a></li>
3258                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-role/procurement" role="menuitem" data-internal="false" rel="noopener" class="hooked">Procurement</a></li>
3259                                                
3260                                             </ul>
3261                                          </div>
3262                                       </span>
3263                                        </div>
3264                                        <div class="inner-ul-container">
3265                                            <p id="navigation-orange-nav">BY INDUSTRY</p>
3266                                            <br>
3267                                            <div class="full-specialized-container">
3268                                                <span id="hs_cos_wrapper_navigation-primary_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
3269                                             <div id="hs_menu_wrapper_navigation-primary_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="161595226644" aria-label="Navigation Menu">
3270                                                <ul role="menu">
3271                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-industry/chemicals" role="menuitem" data-internal="false" rel="noopener" class="hooked">Chemicals</a></li>
3272                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-industry/mining-and-metals" role="menuitem" data-internal="false" rel="noopener" class="hooked">Mining &amp; Metals</a></li>
3273                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-industry/pulp-and-paper" role="menuitem" data-internal="false" rel="noopener" class="hooked">Pulp &amp; Paper</a></li>
3274                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/what-we-offer/by-industry/utilities-and-power-generation" role="menuitem" data-internal="false" rel="noopener" class="hooked">Utilities &amp; Power Generation</a></li>
3275                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="" role="menuitem" data-internal="false" rel="noopener" class="hooked">Agriscience</a></li>
3276                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="" role="menuitem" data-internal="false" rel="noopener" class="hooked">Manufacturing</a></li>
3277                                                </ul>
3278                                             </div>
3279                                          </span>
3280                                            </div>
3281                                            <!--.full-specialized-container-->
3282                                        </div>
3283                                    </div>
3284                                </ul>
3285                                <!-- END CUSTOM MENU ------------>
3286                            </li>
3287                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3288                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">Services</a>
3289                                <button class="menu__child-toggle no-button" aria-expanded="false">
3290                              <span class="show-for-sr">Show submenu for Services</span>
3291                              <span class="menu__child-toggle-icon"></span>
3292                              </button>
3293                                <!-- Custom Mega Menu -->
3294                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3295                                    <div class="full-ul-container">
3296                                        <div class="outer-ul-container">
3297                                            <p id="navigation-orange-nav">MANAGED SERVICES</p>
3298                                            <span id="hs_cos_wrapper_navigation-primary_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
3299                                          <div id="hs_menu_wrapper_navigation-primary_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="161596538158" aria-label="Navigation Menu">
3300                                             <ul role="menu">
3301                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/services/managed-services/Mserv" role="menuitem" .="" data-internal="false" rel="noopener" class="hooked">Managed Services</a></li>
3302                                                <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/services/managed-services/Track-as-a-Service" role="menuitem" data-internal="false" rel="noopener" class="hooked">Track as a Service</a></li>
3303                                             </ul>
3304                                          </div>
3305                                       </span>
3306                                        </div>
3307                                        <div class="inner-ul-container">
3308                                            <p id="navigation-orange-nav">CONSULTING SERVICES</p>
3309                                            <br>
3310                                            <div class="full-specialized-container">
3311                                                <span id="hs_cos_wrapper_navigation-primary_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
3312                                             <div id="hs_menu_wrapper_navigation-primary_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="161596770604" aria-label="Navigation Menu">
3313                                                <ul role="menu">
3314                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/services/consulting-services/implementation" role="menuitem" data-internal="false" rel="noopener" class="hooked">Implementation</a></li>
3315                                                   <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/services/consulting-services/contract-health-check" role="menuitem" data-internal="false" rel="noopener" class="hooked">Contract Health Check</a></li>
3316                                                </ul>
3317                                             </div>
3318                                          </span>
3319                                            </div>
3320                                            <!--.full-specialized-container-->
3321                                        </div>
3322                                    </div>
3323                                    <!--.full-ul-container-->
3324
3325                                </ul>
3326                                <!-- END CUSTOM MENU ------------>
3327                            </li>
3328                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3329                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">Resources</a>
3330                                <button class="menu__child-toggle no-button" aria-expanded="false">
3331                              <span class="show-for-sr">Show submenu for Resources</span>
3332                              <span class="menu__child-toggle-icon"></span>
3333                              </button>
3334                                <!-- Custom Mega Menu -->
3335                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3336                                    <div class="full-ul-container">
3337                                    </div>
3338                                    <!--.full-ul-container-->
3339                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3340                                        <a class="menu__link hooked" href="https://resources.managementcontrols.com/" data-internal="standard">Resource Hub</a>
3341                                    </li>
3342                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3343                                        <a class="menu__link hooked" href="https://resources.managementcontrols.com/case-studies" data-internal="standard">Case Studies</a>
3344                                    </li>
3345                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3346                                        <a class="menu__link hooked" href="https://resources.managementcontrols.com/white-papers" data-internal="standard">White Papers</a>
3347                                    </li>
3348                                   <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3349                                        <a class="menu__link hooked" href="https://resources.managementcontrols.com/news-releases-mentions" data-internal="standard">News Releases &amp; Mentions</a>
3350                                    <!--    <button class="menu__child-toggle no-button" aria-expanded="false">-->
3351                                    <!--<span class="show-for-sr">Show submenu for Events</span>-->
3352                                    <!--<span class="menu__child-toggle-icon"></span>-->
3353                                    <!--</button>-->
3354                                    <!--     Custom Mega Menu -->
3355                                    <!--    <ul class="menu__submenu menu__submenu--level-3 no-list">-->
3356                                    <!--        <div class="full-ul-container">-->
3357                                    <!--        </div>-->
3358                                    <!--        .full-ul-container-->
3359                                    <!--        <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">-->
3360                                    <!--            <span class="menu__link">Webinars</span>-->
3361                                    <!--        </li>-->
3362                                    <!--        <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">-->
3363                                    <!--            <span class="menu__link">MCi Momentum</span>-->
3364                                    <!--        </li>-->
3365                                    <!--    </ul>-->
3366                                        <!-- END CUSTOM MENU ------------>
3367                                    </li>
3368                                </ul>
3369                                <!-- END CUSTOM MENU ------------>
3370                            </li>
3371                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3372                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">Company</a>
3373                                <button class="menu__child-toggle no-button" aria-expanded="false">
3374                              <span class="show-for-sr">Show submenu for Company</span>
3375                              <span class="menu__child-toggle-icon"></span>
3376                              </button>
3377                                <!-- Custom Mega Menu -->
3378                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3379                                    <div class="full-ul-container">
3380                                    </div>
3381                                    <!--.full-ul-container-->
3382                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3383                                        <a class="menu__link hooked" href="https://managementcontrols.com/company/about-mci" data-internal="false" rel="noopener">About Us</a>
3384                                    </li>
3385                                      <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3386                                        <a class="menu__link hooked" href="https://www.managementcontrols.com/company/our-customers" data-internal="false" rel="noopener">Our Customers</a>
3387                                    </li><li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3388                                        <a class="menu__link hooked" href="https://managementcontrols.com/company/meet-our-team" data-internal="false" rel="noopener">Meet Our Team</a>
3389                                    </li>
3390                                    
3391                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3392                                        <a class="menu__link hooked" href="https://www.managementcontrols.com/company/mci-careers" data-internal="false" rel="noopener">Careers</a>
3393                                    </li>
3394                                </ul>
3395                                <!-- END CUSTOM MENU ------------>
3396                            </li>
3397                        </ul>
3398                        <a id="navbutton" target="_blank" href="https://info.managementcontrols.com/request-a-demo?__hstc=233546881.824e99f83ab0e8799534c297f83c32da.1711052397025.1712938475409.1712945171674.9&amp;__hssc=233546881.1.1712945171674&amp;__hsfp=1186769331" data-internal="false" rel="noopener" class="hooked">Request Demo</a>
3399                    </nav>
3400                    <nav class="menu menu--mobile" aria-label="Main menu">
3401                        <ul class="menu__wrapper no-list">
3402                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3403                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">myTrack Platform</a>
3404                                <button class="menu__child-toggle no-button" aria-expanded="false">
3405                              <span class="show-for-sr">Show submenu for myTrack Platform</span>
3406                              <span class="menu__child-toggle-icon"></span>
3407                              </button>
3408                                <!-- Custom Mega Menu -->
3409                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3410                                    <!--.full-ul-container-->
3411                                    <li class="menu__item menu__item--depth-2 menu__item--has-submenu hs-skip-lang-url-rewrite">
3412                                        <a class="menu__link menu__link--toggle hooked" href="https://www.managementcontrols.com/mytrackplatform/overview" aria-haspopup="true" aria-expanded="false" data-internal="false" rel="noopener">myTrack Overview</a>
3413                                        <button class="menu__child-toggle no-button" aria-expanded="false">
3414                                    <span class="show-for-sr">Show submenu for Overview</span>
3415                                    <span class="menu__child-toggle-icon"></span>
3416                                    </button>
3417                                        <!-- Custom Mega Menu -->
3418                                        <ul class="menu__submenu menu__submenu--level-3 no-list">
3419                                            <div class="full-ul-container">
3420                                            </div>
3421                                            <!--.full-ul-container-->
3422                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3423                                                <span class="menu__link">Labor, Equipment, and Material Tracking</span>
3424                                            </li>
3425                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3426                                                <span class="menu__link">Automated Contract Compliance</span>
3427                                            </li>
3428                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3429                                                <span class="menu__link">Safety</span>
3430                                            </li>
3431                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3432                                                <span class="menu__link">Insights &amp; Analytics</span>
3433                                            </li>
3434                                        </ul>
3435                                        <!-- END CUSTOM MENU ------------>
3436                                    </li>
3437                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3438                                        <a class="menu__link hooked" href="#!" data-internal="self">Integrations &amp; Security</a>
3439                                    </li>
3440                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3441                                        <a class="menu__link hooked" href="#!" data-internal="self">Technology Partners</a>
3442                                    </li>
3443                                </ul>
3444                                <!-- END CUSTOM MENU ------------>
3445                            </li>
3446                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3447                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">What we offer</a>
3448                                <button class="menu__child-toggle no-button" aria-expanded="false">
3449                              <span class="show-for-sr">Show submenu for What we offer</span>
3450                              <span class="menu__child-toggle-icon"></span>
3451                              </button>
3452                                <!-- Custom Mega Menu -->
3453                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3454                                    <!--.full-ul-container-->
3455                                    <li class="menu__item menu__item--depth-2 menu__item--has-submenu hs-skip-lang-url-rewrite">
3456                                        <a class="menu__link menu__link--toggle hooked" href="#!" aria-haspopup="true" aria-expanded="false" data-internal="self">By Role / By Function</a>
3457                                        <button class="menu__child-toggle no-button" aria-expanded="false">
3458                                    <span class="show-for-sr">Show submenu for By Role / By Function</span>
3459                                    <span class="menu__child-toggle-icon"></span>
3460                                    </button>
3461                                        <!-- Custom Mega Menu -->
3462                                        <ul class="menu__submenu menu__submenu--level-3 no-list">
3463                                            <div class="full-ul-container">
3464                                            </div>
3465                                            <!--.full-ul-container-->
3466                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3467                                                <a href="https://www.managementcontrols.com/what-we-offer/by-role/maintenance" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Maintenance</span></a>
3468                                            </li>
3469                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3470                                                <a href="https://www.managementcontrols.com/what-we-offer/by-role/shutdown-turnaround-and-outage" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">STO</span></a>
3471                                            </li>
3472                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3473                                                <a href="https://www.managementcontrols.com/what-we-offer/by-role/capital-expenditure" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">CapEx</span></a>
3474                                            </li>
3475                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3476                                                <a href="https://www.managementcontrols.com/what-we-offer/by-role/procurement" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Procurement</span></a>
3477                                            </li>
3478                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3479                                                <a href="https://www.managementcontrols.com/what-we-offer/by-role/finance" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Finance</span></a>
3480                                            </li>
3481                                        </ul>
3482                                        <!-- END CUSTOM MENU ------------>
3483                                    </li>
3484                                    <li class="menu__item menu__item--depth-2 menu__item--has-submenu hs-skip-lang-url-rewrite">
3485                                        <a class="menu__link menu__link--toggle hooked" href="#!" aria-haspopup="true" aria-expanded="false" data-internal="self">By Industry</a>
3486                                        <button class="menu__child-toggle no-button" aria-expanded="false">
3487                                    <span class="show-for-sr">Show submenu for By Industry</span>
3488                                    <span class="menu__child-toggle-icon"></span>
3489                                    </button>
3490                                        <!-- Custom Mega Menu -->
3491                                        <ul class="menu__submenu menu__submenu--level-3 no-list">
3492                                            <div class="full-ul-container">
3493                                            </div>
3494                                            <!--.full-ul-container-->
3495                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3496                                                <a href="https://www.managementcontrols.com/what-we-offer/by-industry/manufacturing" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Manufacturing</span></a>
3497                                            </li>
3498                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3499                                                <a href="https://www.managementcontrols.com/what-we-offer/by-industry/chemicals" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Chemicals</span></a>
3500                                            </li>
3501                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3502                                                <a href="https://www.managementcontrols.com/what-we-offer/by-industry/mining-and-metals" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Mining &amp; Metals</span></a>
3503                                            </li>
3504                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3505                                                <a href="https://www.managementcontrols.com/what-we-offer/by-industry/pulp-and-paper" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Pulp &amp; Paper</span></a>
3506                                            </li>
3507                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3508                                                <a href="https://www.managementcontrols.com/what-we-offer/by-industry/utilities-and-power-generation" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Utilities &amp; Power Generation</span></a>
3509                                            </li>
3510                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3511                                                <a href="" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Agriscience</span></a>
3512                                            </li>
3513                                        </ul>
3514                                        <!-- END CUSTOM MENU ------------>
3515                                    </li>
3516                                </ul>
3517                                <!-- END CUSTOM MENU ------------>
3518                            </li>
3519                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3520                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">Services</a>
3521                                <button class="menu__child-toggle no-button" aria-expanded="false">
3522                              <span class="show-for-sr">Show submenu for Services</span>
3523                              <span class="menu__child-toggle-icon"></span>
3524                              </button>
3525                                <!-- Custom Mega Menu -->
3526                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3527
3528                                    <!--.full-ul-container-->
3529                                    <li class="menu__item menu__item--depth-2 menu__item--has-submenu hs-skip-lang-url-rewrite">
3530                                        <a class="menu__link menu__link--toggle hooked" href="#!" aria-haspopup="true" aria-expanded="false" data-internal="self">Managed Services</a>
3531                                        <button class="menu__child-toggle no-button" aria-expanded="false">
3532                                    <span class="show-for-sr">Show submenu for Managed Services</span>
3533                                    <span class="menu__child-toggle-icon"></span>
3534                                    </button>
3535                                        <ul class="menu__submenu menu__submenu--level-3 no-list">
3536                                            <div class="full-ul-container">
3537                                            </div>
3538                                            <!--.full-ul-container-->
3539                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3540                                                <a href="https://www.managementcontrols.com/services/managed-services/Mserv" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">MServ </span></a>
3541                                            </li>
3542                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3543                                                <a class="menu__link hooked" href="https://www.managementcontrols.com/services/managed-services/Track-as-a-Service" data-internal="false" rel="noopener">Track as a Service</a>
3544                                            </li>
3545                                        </ul>
3546                                        <!-- END CUSTOM MENU ------------>
3547                                    </li>
3548                                    <li class="menu__item menu__item--depth-2 menu__item--has-submenu hs-skip-lang-url-rewrite">
3549                                        <a class="menu__link menu__link--toggle hooked" href="#!" aria-haspopup="true" aria-expanded="false" data-internal="self">Consulting Services</a>
3550                                        <button class="menu__child-toggle no-button" aria-expanded="false">
3551                                    <span class="show-for-sr">Show submenu for Consulting Services</span>
3552                                    <span class="menu__child-toggle-icon"></span>
3553                                    </button>
3554                                        <!-- Custom Mega Menu -->
3555                                        <ul class="menu__submenu menu__submenu--level-3 no-list">
3556                                            <div class="full-ul-container">
3557                                            </div>
3558                                            <!--.full-ul-container-->
3559                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3560                                                <a href="https://www.managementcontrols.com/services/consulting-services/implementation" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Implementation</span></a>
3561                                            </li>
3562                                            <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">
3563                                                <a href="https://www.managementcontrols.com/services/consulting-services/contract-health-check" data-internal="false" rel="noopener" class="hooked"><span class="menu__link">Contract Health Check</span></a>
3564                                            </li>
3565                                        </ul>
3566                                        <!-- END CUSTOM MENU ------------>
3567                                    </li>
3568                                </ul>
3569                                <!-- END CUSTOM MENU ------------>
3570                            </li>
3571                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3572                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">Resources</a>
3573                                <button class="menu__child-toggle no-button" aria-expanded="false">
3574                              <span class="show-for-sr">Show submenu for Resources</span>
3575                              <span class="menu__child-toggle-icon"></span>
3576                              </button>
3577                                <!-- Custom Mega Menu -->
3578                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3579                                    <div class="full-ul-container">
3580                                    </div>
3581                                    <!--.full-ul-container-->
3582                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3583                                        <a class="menu__link hooked" href="https://resources.managementcontrols.com/" data-internal="standard">Resource Hub</a>
3584                                    </li>
3585                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3586                                        <a class="menu__link hooked" href="https://www.managementcontrols.com/case-studies" data-internal="false" rel="noopener">Case Studies</a>
3587                                    </li>
3588                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3589                                        <a class="menu__link hooked" href="https://www.managementcontrols.com/white-papers" data-internal="false" rel="noopener">White Papers</a>
3590                                    </li>
3591                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3592                                    <a class="menu__link hooked" href="https://resources.managementcontrols.com/news-releases-mentions" data-internal="standard">News Releases &amp; Mentions</a>
3593                                    <!--    <a class="menu__link menu__link--toggle  " href="https://www.managementcontrols.com/events" aria-haspopup="true" aria-expanded="false">Events</a>-->
3594                                    <!--    <button class="menu__child-toggle no-button" aria-expanded="false">-->
3595                                    <!--<span class="show-for-sr">Show submenu for Events</span>-->
3596                                    <!--<span class="menu__child-toggle-icon"></span>-->
3597                                    <!--</button>-->
3598                                        <!-- Custom Mega Menu -->
3599                                    <!--    <ul class="menu__submenu menu__submenu--level-3 no-list">-->
3600                                    <!--        <div class="full-ul-container">-->
3601                                    <!--        </div>-->
3602                                            <!--.full-ul-container-->
3603                                    <!--        <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">-->
3604                                    <!--            <span class="menu__link">Webinars</span>-->
3605                                    <!--        </li>-->
3606                                    <!--        <li class="menu__item menu__item--depth-3  hs-skip-lang-url-rewrite">-->
3607                                    <!--            <span class="menu__link">MCi Momentum</span>-->
3608                                            </li>
3609                                        </ul>
3610                                        <!-- END CUSTOM MENU ------------>
3611                                    </li>
3612                                </ul>
3613                                <!-- END CUSTOM MENU ------------>
3614                            
3615                            <li class="menu__item menu__item--depth-1 menu__item--has-submenu hs-skip-lang-url-rewrite">
3616                                <a class="menu__link menu__link--toggle hooked" href="#" aria-haspopup="true" aria-expanded="false" data-internal="self">Company</a>
3617                                <button class="menu__child-toggle no-button" aria-expanded="false">
3618                              <span class="show-for-sr">Show submenu for Company</span>
3619                              <span class="menu__child-toggle-icon"></span>
3620                              </button>
3621                                <!-- Custom Mega Menu -->
3622                                <ul class="menu__submenu menu__submenu--level-2 no-list">
3623                                    <div class="full-ul-container">
3624                                    </div>
3625                                    <!--.full-ul-container-->
3626                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3627                                        <a class="menu__link hooked" href="https://managementcontrols.com/company/about-mci" data-internal="false" rel="noopener">About Us</a>
3628                                    </li>
3629                                      <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3630                                        <a class="menu__link hooked" href="https://www.managementcontrols.com/company/our-customers" data-internal="false" rel="noopener">Our Customers</a>
3631                                    </li><li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3632                                        <a class="menu__link hooked" href="https://managementcontrols.com/company/meet-our-team" data-internal="false" rel="noopener">Meet Our Team</a>
3633                                    </li>
3634                                    
3635                                    <li class="menu__item menu__item--depth-2  hs-skip-lang-url-rewrite">
3636                                        <a class="menu__link hooked" href="https://www.managementcontrols.com/company/careers" data-internal="false" rel="noopener">Careers</a>
3637                                    </li>
3638                                </ul>
3639                                <!-- END CUSTOM MENU ------------>
3640                            </li>
3641                        
3642                    </nav>
3643                </div>
3644            </div>
3645        </div>
3646    </div>
3647</div>
3648<div class="container-fluid content-wrapper">
3649    <div class="row-fluid-wrapper">
3650        <div class="row-fluid">
3651            <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
3652            </div>
3653            <!--end widget-span -->
3654        </div>
3655    </div>
3656</div>
3657</header>
3658</div>
3659
3660<style>
3661/*! CSS Used from: https://content.cdntwrk.com/themes/vanilla/e883a46/public/css/template_sets_default_pages_hub_page.b43113d50d7e9ec1d28a.chunk.css */
3662a,div,header,img,li,nav,p,span,ul{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
3663header,nav{display:block;}
3664ul{list-style:none;}
3665li,p,ul{margin:0;padding:0;}
3666ul{list-style:none;}
3667button{margin:0;}
3668*,:after,:before{box-sizing:inherit;}
3669img{height:auto;max-width:100%;}
3670header{display:block;}
3671button{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;}
3672a{color:#049cdb;cursor:pointer;text-decoration:none;}
3673a:hover{color:#363636;}
3674img{height:auto;max-width:100%;}
3675span{font-style:inherit;font-weight:inherit;}
3676.menu{font-size:1.4rem;}
3677*{box-sizing:border-box;}
3678button{font-family:inherit;}
3679a{color:#0064cd;}
3680/*! CSS Used from: https://cihost.uberflip.com/management-control
3680s-tv2/master/build/en/en.css */
3681#injected-header{font-family:Arial,sans-serif;font-style:normal;font-weight:400;color:#4e4e4e;word-wrap:break-word;z-index:99;position:relative;}
3682#injected-header,#injected-header .header__container a,#injected-header .header__container li,#injected-header .header__container p,#injected-header .header__container ul{font-size:16px;line-height:1.4;}
3683#injected-header *{box-sizing:border-box;}
3684#injected-header .header{background-color:#000;}
3685#injected-header .header .outer-top-header-container{background-color:#7a7a7a;}
3686#injected-header .header .content-wrapper{margin:0 auto;padding:0 16px;max-width:1580px;}
3687@media screen and (min-width:1380px){
3688#injected-header .header .content-wrapper{padding:0;}
3689}
3690@media (max-width:280px){
3691#injected-header .header .content-wrapper{max-width:260px;padding-right:30px!important;}
3692}
3693#injected-header .header .row-fluid .span12{min-height:1px;width:100%;}
3694#injected-header .header .dnd-section>.row-fluid{margin:0 auto;max-width:1580px;}
3695#injected-header .header .row-fluid{flex-wrap:wrap;width:100%;}
3696#injected-header .header .very-top-section-header-column-1-padding{padding:10px 0!important;}
3697#injected-header .header .very-top-section-header-column-1-row-0-margin,#injected-header .header .very-top-section-header-column-1-row-1-margin{margin-top:0!important;margin-bottom:0!important;}
3698#injected-header .header .header__container{display:flex;justify-content:space-between;}
3699@media (min-width:980px){
3700#injected-header .header .header__container{align-items:center;}
3701}
3702#injected-header .header .header__logo--main{padding:16px 0;}
3703#injected-header .header .header__logo{align-items:center;display:flex;height:auto;margin-right:auto;max-width:200px;overflow:hidden;}
3704@media (max-width:1180px) and (min-width:768px){
3705#injected-header .header .header__logo img{width:auto!important;max-width:156.36px!important;height:auto!important;}
3706}
3707#injected-header .header a{color:#4e4e4e;}
3708#injected-header .header a:active,#injected-header .header a:hover{color:#767676;}
3709#injected-header .header a,#injected-header .header p{font-family:Arial,sans-serif;font-style:normal;font-weight:400;text-decoration:none;}
3710#injected-header .header p{margin:0 0 22.4px;}
3711#injected-header .header .hs_cos_wrapper_type_logo img{height:auto;max-width:100%;}
3712#injected-header .header .header__row-2{align-items:center;display:flex;justify-content:flex-end;width:100%;}
3713#injected-header .header .menu--desktop{align-items:center;display:flex;}
3714@media (max-width:767px){
3715#injected-header .header .menu--desktop{display:none!important;}
3716}
3717@media (min-width:768px){
3718#injected-header .header #hs_cos_wrapper_navigation-primary>nav.menu.menu--desktop>ul>li:first-child,#injected-header .header #hs_cos_wrapper_navigation-primary>nav.menu.menu--desktop>ul>li:nth-child(3),#injected-header .header #hs_cos_wrapper_navigation-primary>nav.menu.menu--desktop>ul>li:nth-child(4){position:unset;}
3719}
3720@media (min-width:768px){
3721#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite{align-items:center;display:inline-flex;height:100px;}
3722}
3723#injected-header .header .menu__item--depth-1{display:inline-block;padding:11.2px 14px;}
3724#injected-header .header .menu__item--depth-1:first-child .menu__submenu--level-2{transform:unset;}
3725#injected-header .header .menu__submenu{border-radius:3px;box-shadow:0 2px 9px 0 rgba(0,0,0,.2);display:none;left:0;position:absolute;text-align:left;text-transform:none;top:100%;width:270px;z-index:99;}
3726#injected-header .header .menu__link{color:#fff;font-family:Arial;font-size:14.672px;line-height:26.672px;text-decoration:none;}
3727#injected-header .header button{cursor:pointer;display:inline-block;text-align:center;transition:all .15s linear;white-space:normal;}
3728#injected-header .header button{background-color:#f93;border:0 solid #f93;border-radius:6px;color:#fff;font-family:Arial,sans-serif;font-size:22px;font-style:normal;font-weight:400;padding:15px 45px;text-decoration:none;text-transform:none;}
3729#injected-header .header .no-button,#injected-header .header .no-button:active,#injected-header .header .no-button:focus,#injected-header .header .no-button:hover{background:none;border:none;border-radius:0;color:#000;color:initial;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-bottom:0;padding:0;text-align:left;text-decoration:none;transition:none;}
3730#injected-header .header .show-for-sr{border:0!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;}
3731#injected-header .header .menu__child-toggle-icon{border-top-color:#ff5933;}
3732#injected-header .header #navbutton{background:#ed2331;border:2px solid #ed2331;border-radius:5px;color:#fff;padding:12px 20px;text-decoration:none;font-size:16px;line-height:1.4;}
3733#injected-header .header .menu__item{position:relative;}
3734#injected-header .header .menu__submenu--level-2{transform:translateX(-50%);}
3735#injected-header .header .hs-menu-wrapper ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding-left:0;flex-flow:column;}
3736#injected-header .header .menu__link:active,#injected-header .header .menu__link:focus,#injected-header .header .menu__link:hover{text-decoration:none;}
3737#injected-header .header .menu__submenu .menu__link{display:block;padding:11.2px 16.8px;transition:background-color .3s;width:100%;}
3738#injected-header .header .menu__submenu .menu__item{border-bottom:1px solid #d1d6dc;padding:0;width:100%;}
3739#injected-header .header .menu__submenu .menu__link,#injected-header .header .menu__submenu .menu__link:focus,#injected-header .header .menu__submenu .menu__link:hover{background-color:#fff;color:#f93;}
3740#injected-header .header .menu__submenu--level-2>.menu__item:first-child:hover:before,#injected-header .header .menu__submenu .menu__link:focus,#injected-header .header .menu__submenu .menu__link:hover{background-color:#000;}
3741#injected-header .header .menu__item--depth-1:nth-last-child(-n+2) .menu__submenu--level-3{left:auto;right:100%;top:0;}
3742@media (max-width:1180px) and (min-width:768px){
3743#injected-header .header #navbutton,#injected-header .header .menu__link{font-size:11.2px!important;}
3744}
3745@media (max-width:1180px) and (min-width:768px){
3746#injected-header .header .menu__item--depth-1{padding:11.2px 4.4px;}
3747}
3748@media (max-width:1180px) and (min-width:768px){
3749#injected-header .header .header__column{align-items:center;display:flex;width:100%;}
3750}
3751@media (max-width:980px){
3752#injected-header .header #upper-header-container{text-align:center!important;}
3753}
3754#injected-header .header ul.no-list{list-style:none;margin:0;padding-left:0;}
3755@media (min-width:767px){
3756#injected-header .header .menu__submenu{border-radius:3px;box-shadow:0 2px 9px 0 rgba(0,0,0,.2);display:none;position:absolute;text-align:left;text-transform:none;top:100%;width:270px;z-index:99;}
3757#injected-header .header .menu .menu__submenu,#injected-header .header .menu__submenu--level-2>.menu__item:first-child:before{background-color:#fff;border:2px solid #f93;}
3758#injected-header .header .menu__item--depth-1>.menu__child-toggle{position:static;right:0;top:0;vertical-align:middle;z-index:2;}
3759#injected-header .header .menu__child-toggle-icon{border-left:5px solid transparent;border-right:5px solid transparent;border-top-style:solid;border-top-width:7px;display:block;height:0;margin-left:1px;width:0;}
3760#injected-header .header li.menu__item--has-submenu:hover>.menu__submenu{display:block;}
3761#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:first-child:hover .menu__submenu--level-2,#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:nth-child(3):hover .menu__submenu--level-2,#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:nth-child(4):hover .menu__submenu--level-2{align-items:center;border:none;display:flex;flex-flow:wrap;justify-content:center;left:0;left:50%;margin:0;min-width:1250px;padding:50px 100px;position:absolute;top:150px;transform:translate(0);transform:translate(-50%);z-index:99999;}
3762#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:first-child:hover .menu__submenu--level-2:before,#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:nth-child(3):hover .menu__submenu--level-2:before,#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:nth-child(4):hover .menu__submenu--level-2:before{background:#fff;box-shadow:0 2px 9px 0 rgba(0,0,0,.2);content:"";display:block;height:100%;left:50%;position:absolute;transform:translate(-50%);width:100vw;z-index:-1;}
3763#injected-header .header .full-ul-container{display:flex;flex-flow:row;justify-content:space-evenly;max-width:1250px;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;width:100%;}
3764#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:first-child .outer-ul-container,#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:nth-child(3) .outer-ul-container,#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:nth-child(4) .outer-ul-container{border-right:3px s
3764olid #ff5933;display:flex;flex-flow:wrap;padding-right:60px;width:50%;align-content:start;}
3765#injected-header .header p#navigation-orange-nav{background:#ff5933;color:#fff;display:inline-flex;font-size:19px;font-weight:600;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:5px 15px;}
3766#injected-header .header li.hs-menu-item.hs-menu-depth-1{margin-bottom:7px;text-decoration:underline;}
3767#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:first-child .inner-ul-container,#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:nth-child(3) .inner-ul-container,#injected-header .header li.menu__item.menu__item--depth-1.menu__item--has-submenu.hs-skip-lang-url-rewrite:nth-child(4) .inner-ul-container{display:block;padding-left:70px;width:50%;}
3768#injected-header .header .menu__submenu .menu__child-toggle{position:absolute;right:5px;top:30px;z-index:2;margin-left:auto;padding:0 16.8px;}
3769}
3770@media (max-width:767px){
3771#injected-header .header .header__container{flex-direction:column;padding:16px 0 0;}
3772#injected-header .header .header__logo{display:block;margin:0 auto;text-align:center;width:100%;}
3773#injected-header .header .header__column{position:relative;}
3774}
3775@media (max-width:767px) and (max-width:280px){
3776#injected-header .header .header__column{width:122%;right:20px;}
3777}
3778@media (max-width:767px){
3779#injected-header .header .header__row-2{justify-content:center;padding:16.8px;}
3780#injected-header .header .header__close--toggle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIxOSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiM0OTRBNTIiIHN0cm9rZS13aWR0aD0iMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMiAtMSkiPjxyZWN0IHdpZHRoPSIyMSIgaGVpZ2h0PSIxIiB4PSItLjUiIHk9IjEwLjUiIHJ4PSIuNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTQ1IDEwIDEwLjUpIi8+PHJlY3Qgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHg9Ii0uNSIgeT0iMTAuNSIgcng9Ii41IiB0cmFuc2Zvcm09InJvdGF0ZSg0NSAxMCAxMC41KSIvPjwvZz48L3N2Zz4=);background-repeat:no-repeat;background-size:110%;display:none;height:25px;margin-right:0;width:25px;}
3781#injected-header .header .header__navigation--toggle{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDE5Ij48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzQ5NEE1MiIgc3Ryb2tlLXdpZHRoPSIzIj48cmVjdCB3aWR0aD0iMjEiIGhlaWdodD0iMSIgeD0iMS41IiB5PSIxLjUiIHJ4PSIuNSIvPjxyZWN0IHdpZHRoPSIyMSIgaGVpZ2h0PSIxIiB4PSIxLjUiIHk9IjkuNSIgcng9Ii41Ii8+PHJlY3Qgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHg9IjEuNSIgeT0iMTcuNSIgcng9Ii41Ii8+PC9nPjwvc3ZnPg==");background-size:cover;height:25px;width:25px;}
3782#injected-header .header .header__navigation--toggle:after{display:none;font-size:17.328px;font-weight:600;left:40px;top:-10px;position:absolute;text-transform:uppercase;top:0;}
3783#injected-header .header .header__close--toggle,#injected-header .header .header__navigation--toggle{cursor:pointer;position:relative;}
3784#injected-header .header .header__navigation{background-color:#000;display:none;width:100%;}
3785#injected-header .header .menu__item--depth-1{border-top:2px solid #ced4db;padding:0;}
3786#injected-header .header .menu__item{display:block;width:100%;}
3787#injected-header .header .menu__link{display:block;font-size:17.328px;color:#4e4e4e!important;}
3788#injected-header .header .menu__item--depth-1>.menu__link{padding:5.6px 19.6px;}
3789#injected-header .header .menu__item--has-submenu>.menu__link{width:70%;}
3790#injected-header .header .menu__child-toggle{background-position:center right 30px;background-repeat:no-repeat;background-size:20px;border:none;height:55px;padding:15px 0;}
3791#injected-header .header .menu__child-toggle-icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxOSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiM5Nzk4OUYiIHN0cm9rZS13aWR0aD0iMi40Ij48cmVjdCB3aWR0aD0iMTYuOCIgaGVpZ2h0PSIxIiB4PSIxLjIiIHk9IjkuNiIgcng9Ii41Ii8+PHJlY3Qgd2lkdGg9IjE2LjgiIGhlaWdodD0iMSIgeD0iMS4yIiB5PSI5LjYiIHJ4PSIuNSIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgOS42IDkuNikiLz48L2c+PC9zdmc+);background-repeat:no-repeat;display:block;height:20px;margin-left:auto;margin-right:16.8px;transition:transform .4s;width:20px;}
3792#injected-header .header .header__row-2.show .header__navigation--toggle{display:block;margin-left:0;margin-right:auto;}
3793#injected-header .header .header__row-2.show .header__navigation--toggle:after{display:block;word-break:normal;content:"Menu";}
3794#injected-header .header .header__row-2.show .header__close--toggle{display:block;}
3795#injected-header .header .header__row-2.show .header__navigation{background-color:#f8fafc;display:block;left:0;min-height:calc(100vh - 115px);position:absolute;right:0;top:60px;z-index:2;}
3796#injected-header .header .menu__item--open>.menu__child-toggle .menu__child-toggle-icon{transform:rotate(45deg);transition:transform .4s;}
3797#injected-header .header .menu__item--open>.menu__submenu{display:block;}
3798#injected-header .header .menu__submenu{padding:0;border:none;border-radius:0;box-shadow:none;position:static;transform:unset;width:100%;}
3799#injected-header .header .full-ul-container{display:none;}
3800#injected-header .header .menu__submenu .menu__item{width:100%;background-color:#fff;border-bottom:none;border-top:2px solid #ebeff3;padding:0;}
3801#injected-header .header .menu__submenu .menu__link{display:block;padding:.7rem 2rem;transition:none;width:100%;}
3802#injected-header .header .menu__submenu--level-3 .menu__item .menu__link,#injected-header .header .menu__submenu .menu__link{padding:11.2px 16px;}
3803#injected-header .header .menu__child-toggle{cursor:pointer;height:37.86px;position:absolute;right:0;top:0;width:30%;padding:0;}
3804#injected-header .header .menu__item--open .menu__submenu .menu__child-toggle{height:49.05px;}
3805#injected-header .header .menu__submenu .menu__item .menu__link:focus,#injected-header .header .menu__submenu .menu__item .menu__link:hover{background-color:inherit;transition:none;}
3806}
3807#injected-header .header .menu__submenu .menu__item--has-submenu>.menu__link{padding-right:48px;}
3808#injected-header .header .menu--mobile{display:none;}
3809@media (max-width:767px){
3810#injected-header .header .menu--mobile{display:block;}
3811}
3812/*! CSS Used fontfaces */
3813@font-face{font-family:'Roboto';font-style:normal;font-weight:100;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100.svg#Roboto') format('svg');}
3814@font-face{font-family:'Roboto';font-style:italic;font-weight:100;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100italic.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100italic.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100italic.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100italic.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100italic.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-100italic.svg#Roboto') format('svg');}
3815@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.svg#Roboto') format('svg');}
3816@font-face{font-family:'Roboto';font-style:italic;font-weight:300;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.svg#Roboto') format('svg');}
3817@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#Roboto') format('svg');}
3818@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.svg#Roboto') format('svg');}
3819@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.svg#Roboto') format('svg');}
3820@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500italic.svg#Roboto') format('svg');}
3821@font-face{font-family:'Roboto';font-style:normal;font-weight:700;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#Roboto') format('svg');}
3822@font-face{font-family:'Roboto';font-style:italic;font-weight:700;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700italic.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700italic.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700italic.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700italic.woff') format('
3822woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700italic.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700italic.svg#Roboto') format('svg');}
3823@font-face{font-family:'Roboto';font-style:normal;font-weight:900;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.svg#Roboto') format('svg');}
3824@font-face{font-family:'Roboto';font-style:italic;font-weight:900;src:url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900italic.eot');src:local(''),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900italic.eot?#iefix') format('embedded-opentype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900italic.woff2') format('woff2'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900italic.woff') format('woff'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900italic.ttf') format('truetype'),     url('https://uberflip.cdntwrk.com/fonts/roboto/roboto-v30-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900italic.svg#Roboto') format('svg');}
3825@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
3826@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
3827@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');unicode-range:U+1F00-1FFF;}
3828@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}
3829@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
3830@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
3831@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;
3831src:url(https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
3832</style>
vendor: 110 bytes, lines 3832-3834
3832
3833
3834<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
3834<script>
3835document.addEventListener('DOMContentLoaded', () => {
3836  const mobileMenuBtn = document.querySelector('.header--toggle');
3837  const toggleShowClass = document.querySelector('.header__row-2');
3838  const mobileMenuCloseBtn = document.querySelector('.header__close--toggle');
3839  
3840   const menuChildBtns = document.querySelectorAll('.menu__child-toggle');
3841
3842  // Toggle mobile menu visibility
3843  if (mobileMenuBtn && toggleShowClass) {
3844    mobileMenuBtn.addEventListener('click', () => {
3845      toggleShowClass.classList.add('show');
3846    });
3847  }
3848
3849  menuChildBtns.forEach((btn) => {
3850    btn.addEventListener('click', () => {
3851      const parentListItem = btn.closest('.menu__item--has-submenu');
3852      if (parentListItem) {
3853        parentListItem.classList.toggle('menu__item--open');
3854      }
3855    });
3856  });
3857
3858  if (mobileMenuCloseBtn && toggleShowClass) {
3859    mobileMenuCloseBtn.addEventListener('click', () => {
3860      toggleShowClass.classList.remove('show');
3861      
3862      const openMenuItems = document.querySelectorAll('.menu__item--open');
3863      openMenuItems.forEach((item) => {
3864        item.classList.remove('menu__item--open');
3865      });
3866    });
3867  }
3868
3869});
3870</script>
3870</section>
3871
3872
3873
3874<section data-pf-theme-artefact-id="content-list"
3875      data-pf-theme-artefact-file-id="b4affa8d-cd37-4015-ab06-6a093f162d20"
3876      data-pf-theme-artefact-filename="content-list"
3877      data-pf-theme-block-id="a1WotSHMsY"
3878      data-pf-theme-block-type="section"
3879      data-pf-theme-block-pos="1"
3880      data-pf-theme-block-ref="content-list" 
3881  id=""
3882  class="section-display relative section-a1WotSHMsY   
3883    flex-col
3884    
3885    
3886      bg-[#FFFFFF]
3887    "
3888  
3889>
3890  <div id="content-list-a1WotSHMsY"></div>
3891  <div class='filters-container bg-white py-1 pb-2 md:pb-1'>
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902<div class="px-[10px] flex-wrap">
3903  <div class="mb-[10px] flex flex-wrap gap-x-3 md:justify-between">
3904    <div class="flex flex-grow justify-between gap-1">
3905      
3906      
3907  </div>
3908  <div class="pf-resource-center-filters rc-mobile-filters-container md:hidden" aria-hidden="true">
3909          
3910          
3911
3912
3913
3914
3915<style>
3916  #rc-mobile-filter-a1WotSHMsY-title #bottom-bar-button:focus-visible {
3917    outline: 2px solid #ffffff;
3918    outline-offset: 2px;
3919    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.5);
3920  }
3921</style>
3922
3923<div role="region" aria-label="Mobile content navigation" id="rc-mobile-filter-a1WotSHMsY" class="z-[1000] fixed bottom-[calc(0px-70%)] left-0 h-[70%] w-full transition-[bottom] ease-in-out duration-300 md:hidden bg-white" x-data="{
3924    isFilterExpanded: false,
3925    checkStyle() {
3926      this.isFilterExpanded = $el.style.bottom === '0px';
3927      const button = $el.querySelector('#bottom-bar-button');
3928      if (button) {
3929        const panelLabel = button.querySelector('.pf-bottom-bar-label')?.textContent?.trim() || '';
3930        button.setAttribute('aria-expanded', this.isFilterExpanded ? 'true' : 'false');
3931        button.setAttribute('aria-label', this.isFilterExpanded ? 'Collapse ' + panelLabel : 'Expand ' + panelLabel);
3932      }
3933    }
3934  }"
3935  x-init="checkStyle()"
3936  @sync-a11y="checkStyle()"
3937  @keyup.escape="$el.style.bottom = ''; checkStyle()"
3938  @transitionend="checkStyle()">
3939  <div
3940    id="rc-mobile-filter-a1WotSHMsY-title"
3941    class="w-full px-5 flex justify-between items-center h-[50px]
3942      
3943        text-[#ffffff]
3944      
3945      
3946        bg-[#ff9933]
3947      "
3948  >
3949    <button
3950      type="button"
3951      id="bottom-bar-button"
3952      aria-expanded="false"
3953      aria-controls="rc-mobile-filter-a1WotSHMsY-content"
3954      aria-label="Expand Filters"
3955      class="flex items-center space-x-2 w-full justify-between"
3956    >
3957      <span class="pf-bottom-bar-label">Filters&nbsp;</span>
3958      <i class="fa fa-close" aria-hidden="true"></i>
3959    </button>
3960    
3961  </div>
3962  <div id="rc-mobile-filter-a1WotSHMsY-content" class="w-full flex justify-center h-full">
3963    
3964            <div class="flex flex-col w-full overflow-scroll max-h-[calc(100%-50px)]">
3965              
3966            </div>
3967          
3968  </div>
3969</div>
3970<script>
3971  document.querySelector("#rc-mobile-filter-a1WotSHMsY-title button").onclick = (e) => {
3972    const bottombar = document.querySelector("#rc-mobile-filter-a1WotSHMsY");
3973    const bottomBarButton = e?.currentTarget;
3974    const bottombarTitleIcon = bottomBarButton?.querySelector("i") || document.querySelector("#rc-mobile-filter-a1WotSHMsY-title > i");
3975    const panelLabel = bottomBarButton?.querySelector(".pf-bottom-bar-label")?.textContent?.trim() || "";
3976    if (bottombar.style.bottom == "0px") {
3977      bottombar.style.bottom = ""
3978      bottombar.classList.add("bottom-calc(0px-70%)");
3979      bottombarTitleIcon?.setAttribute("class", "fa fa-close");
3980    } else {
3981      bottombar.classList.remove("bottom-calc(0px-70%)");
3982      bottombar.style.bottom = "0px";
3983      bottombarTitleIcon?.setAttribute("class", "fa fa-close");
3984    }
3985    const isExpanded = bottombar.style.bottom === "0px";
3986    bottomBarButton.setAttribute("aria-expanded", isExpanded ? "true" : "false");
3987    bottomBarButton.setAttribute("aria-label", isExpanded ? "Collapse " + panelLabel : "Expand " + panelLabel);
3988    bottombar.dispatchEvent(new Event('sync-a11y'));
3989    
3990  }
3991  document.addEventListener("keydown", (e) => {
3992    const bottombar = document.querySelector("#rc-mobile-filter-a1WotSHMsY");
3993    const closeButton = document.querySelector('#rc-mobile-filter-a1WotSHMsY .fa-close');
3994    const bottomBarButton = document.querySelector("#rc-mobile-filter-a1WotSHMsY-title button");
3995    const panelLabel = bottomBarButton?.querySelector(".pf-bottom-bar-label")?.textContent?.trim() || "";
3996    if (e.key === "Escape") {
3997      bottombar.style.bottom = ""
3998      bottomBarButton?.setAttribute("aria-expanded", "false");
3999      bottomBarButton?.setAttribute("aria-label", "Expand " + panelLabel);
4000      bottombar.dispatchEvent(new Event('sync-a11y'));
4001      closeButton?.setAttribute('tabindex', '-1');
4002    } else if (e.key === "Tab" && bottombar.style.bottom === "0px") {
4003      trapElementFocus(bottombar, e);
4004    }
4005  });
4006</script>
4006
4007        </div>
4008    
4009  </div>
4010  
4011</div>
4012
4013<script>
4014  (() => {
4015    const searchBoxElement = document.querySelector(".section-a1WotSHMsY .search-a1WotSHMsY");
4016    const filterButton = document.querySelector(".section-a1WotSHMsY .rc-mobile-filter-selector");
4017    const bottomBar = document.querySelector("#rc-mobile-filter-a1WotSHMsY");
4018    const closeButton = document.querySelector('#rc-mobile-filter-a1WotSHMsY .fa-close');
4019
4020    // disable initial tabbing for close button in bottom bar
4021    closeButton?.setAttribute("tabindex", "-1");
4022
4023    
4024      // handle search input
4025      searchBoxElement?.addEventListener("input", pfDebounce((event) => {
4026        pfGetContents({sectionNodeId: "a1WotSHMsY", updateParams: {search: event.target.value, page: 1}});
4027      }), 1000);
4028    
4029
4030    // handle filter button click
4031    filterButton?.addEventListener("click", () => {
4032      filterButton.setAttribute("aria-expanded", "true");
4033      closeButton.setAttribute("tabindex", "0");
4034      document.querySelector('#rc-mobile-filter-a1WotSHMsY-title button').onclick();
4035      bottomBar?.parentNode?.setAttribute("aria-hidden", "false");
4036    });
4037
4038    // handle close button click that collapses bottom bar
4039    closeButton?.addEventListener("click", () => {
4040      filterButton.setAttribute("aria-expanded", "false");
4041      closeButton.setAttribute("tabindex", "-1");
4042      filterButton?.focus();
4043      bottomBar?.parentNode?.setAttribute("aria-hidden", "true");
4044    });
4045  })();
4046
4047</script>
4047
4048
4049</div>
4050  <div class="section-base w-full relative  
4051      section-padding
4052     block">
4053  
4054  
4055  
4056  <div class="cards-container flex flex-col">
4057    <div class="flex flex-col w-full items-center">
4058      
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070<div
4071  data-uuid=""
4072  style="display: none;"
4073  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/4 template"
4074>
4075  <a
4076    class="pf-content-card-link card-link block group mb-[10px]"
4077    href=""
4078    
4079    
4080  >
4081    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
4082      <img
4083        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
4084        src=""
4085        alt=""
4086      >
4087      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#ffffff]">
4088        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
4089          <span class="pf-content-card-title line-clamp-4"></span>
4090        </div>
4091        
4092          <div
4093            class="card-desc pf_font_preset_5 text-[#000000] pb-[10px]"
4094            style="display: none;"
4095          >
4096            <span class="pf-content-card-description line-clamp-8">
4097              
4098            </span>
4099          </div>
4100        
4101      </div>
4102    </div>
4103    
4104      <div class="card-cta pf_font_preset_6 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
4105      <span class="pf-content-card-cta">
4106        See more...
4107        </span>
4108        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
4109      </div>
4110    
4111    <div class="mb-[10px]"></div>
4112    
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131<div
4132  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
4133  
4134    style="display: none;"
4135  
4136>
4137  
4138    <span class="
4139  pf-content-tag-on-card 
4140  bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4141 w-fit
4142" data-enabled-tags=""></span>
4143  
4144  <span
4145    class="
4146  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4147"
4148    
4149      style="display: none;"
4150    
4151  >
4152    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
4153  </span>
4154  
4155</div>
4156<div
4157  onclick="event.preventDefault()"
4158  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
4159  
4160    style="display: none;"
4161  
4162>
4163  <span class="
4164  pf-content-tag-below-card 
4165  bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4166
4167" data-enabled-tags=""></span>
4168  
4169</div>
4170  </a>
4171</div>
4172
4173      <div class="pf-resource-center-cards-wrapper cards-wrapper grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-1  w-full ">
4174        
4175        
4176          
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188<div
4189  data-uuid="f65d8986-6639-443f-9d4f-ef08a6023e42"
4190  
4191  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/4 "
4192>
4193  <a
4194    class="pf-content-card-link card-link block group mb-[10px]"
4195    href="https://resources.managementcontrols.com/news-releases-mentions/col/news-releases-mentions/press-release-mci-announces-myAssistant-ai-copilot-built-on-azure?pflpid=47377&pfsid=a1WotSHMsY"
4196    
4197    
4198  >
4199    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
4200      <img
4201        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
4202        src="https://cdn.pathfactory.com/assets/11171/contents/1096853/thumbnails/600x/68937152-394f-43e0-bc5e-3114ea1803f0.png"
4203        alt=""
4204      >
4205      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#ffffff]">
4206        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
4207          <span class="pf-content-card-title line-clamp-4">
4207Management Controls Inc. Announces myAssistant AI Copilot for myTrack, Powered by Microsoft Azure</span>
4208        </div>
4209        
4210          <div
4211            class="card-desc pf_font_preset_5 text-[#000000] pb-[10px]"
4212            style=""
4213          >
4214            <span class="pf-content-card-description line-clamp-8">
4215              MCi introduces myAssistant AI Copilot for myTrack, enhancing productivity and contract compliance with Microsoft Azure AI. Available now for all myTrack users.
4216            </span>
4217          </div>
4218        
4219      </div>
4220    </div>
4221    
4222      <div class="card-cta pf_font_preset_6 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
4223      <span class="pf-content-card-cta">
4224        See more...
4225        </span>
4226        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
4227      </div>
4228    
4229    <div class="mb-[10px]"></div>
4230    
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249<div
4250  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
4251  
4252    style="display: none;"
4253  
4254>
4255  
4256  <span
4257    class="
4258  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4259"
4260    
4261      style="display: none;"
4262    
4263  >
4264    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
4265  </span>
4266  
4267</div>
4268<div
4269  onclick="event.preventDefault()"
4270  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
4271  
4272    style="display: none;"
4273  
4274>
4275  
4276  
4277</div>
4278  </a>
4279</div>
4280
4281        
4282          
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294<div
4295  data-uuid="07b20927-4b9d-4d74-9cba-705a45c05591"
4296  
4297  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/4 "
4298>
4299  <a
4300    class="pf-content-card-link card-link block group mb-[10px]"
4301    href="https://resources.managementcontrols.com/news-releases-mentions/col/news-releases-mentions/women-in-supply-chain-what-they-re-doing-matters-to-the-future-of-supply-chains?pflpid=47377&pfsid=a1WotSHMsY"
4302    
4303    
4304  >
4305    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
4306      <img
4307        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
4308        src="https://cdn.pathfactory.com/assets/11171/contents/857758/thumbnails/600x/aHViPTEzMTc5MSZjbWQ9aXRlbWVkaXRvcmltYWdlJmZpbGVuYW1lPWl0ZW1lZGl0b3JpbWFnZV82NWU4OWJmNmM5MDdhLnBuZyZ2ZXJzaW9uPTAwMDAmc2lnPWFlNzNkMjZlYWMzYTgzNzdkZjU4NTYyNTgwMDVjNTFi"
4309        alt=""
4310      >
4311      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#ffffff]">
4312        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
4313          <span class="pf-content-card-title line-clamp-4">Women in Supply Chain: What They’re Doing Matters to the Future of Supply Chains</span>
4314        </div>
4315        
4316          <div
4317            class="card-desc pf_font_preset_5 text-[#000000] pb-[10px]"
4318            style=""
4319          >
4320            <span class="pf-content-card-description line-clamp-8">
4321              Jackie Andre, MCi's Senior Director, is highlighted in an article celebrating the impactful roles of women in the supply chain industry, showcasing their contributions to innovation.
4322            </span>
4323          </div>
4324        
4325      </div>
4326    </div>
4327    
4328      <div class="card-cta pf_font_preset_6 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
4329      <span class="pf-content-card-cta">
4330        See more...
4331        </span>
4332        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
4333      </div>
4334    
4335    <div class="mb-[10px]"></div>
4336    
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355<div
4356  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
4357  
4358    style="display: none;"
4359  
4360>
4361  
4362  <span
4363    class="
4364  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4365"
4366    
4367      style="display: none;"
4368    
4369  >
4370    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
4371  </span>
4372  
4373</div>
4374<div
4375  onclick="event.preventDefault()"
4376  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
4377  
4378    style="display: none;"
4379  
4380>
4381  
4382  
4383</div>
4384  </a>
4385</div>
4386
4387        
4388          
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400<div
4401  data-uuid="807a8aa6-e647-4ec9-ba99-cadd5975c5e1"
4402  
4403  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/4 "
4404>
4405  <a
4406    class="pf-content-card-link card-link block group mb-[10px]"
4407    href="https://resources.managementcontrols.com/news-releases-mentions/col/news-releases-mentions/the-perfect-manager?pflpid=47377&pfsid=a1WotSHMsY"
4408    
4409    
4410  >
4411    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
4412      <img
4413        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
4414        src="https://cdn.pathfactory.com/assets/11171/contents/857757/thumbnails/600x/aHViPTEzMTc5MSZjbWQ9aXRlbWVkaXRvcmltYWdlJmZpbGVuYW1lPWl0ZW1lZGl0b3JpbWFnZV82NWU4OWIxNGFhZmU4LnBuZyZ2ZXJzaW9uPTAwMDAmc2lnPTUyMmE1ODU4NTRmYWE5MmZiNmRmMTZiNmQ5NjViNjVl"
4415        alt=""
4416      >
4417      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#ffffff]">
4418        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
4419          <span class="pf-content-card-title line-clamp-4">Assembly Magazine: The Perfect Manager</span>
4420        </div>
4421        
4422          <div
4423            class="card-desc pf_font_preset_5 text-[#000000] pb-[10px]"
4424            style=""
4425          >
4426            <span class="pf-content-card-description line-clamp-8">
4427              Bruce Grissom, MCi's Operations and Maintenance Expert, shares insights on effective management in Assembly Magazine, highlighting the importance of teamwork, growth, and respect.
4428            </span>
4429          </div>
4430        
4431      </div>
4432    </div>
4433    
4434      <div class="card-cta pf_font_preset_6 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
4435      <span class="pf-content-card-cta">
4436        See more...
4437        </span>
4438        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
4439      </div>
4440    
4441    <div class="mb-[10px]"></div>
4442    
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461<div
4462  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
4463  
4464    style="display: none;"
4465  
4466>
4467  
4468  <span
4469    class="
4470  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4471"
4472    
4473      style="display: none;"
4474    
4475  >
4476    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
4477  </span>
4478  
4479</div>
4480<div
4481  onclick="event.preventDefault()"
4482  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
4483  
4484    style="display: none;"
4485  
4486>
4487  
4488  
4489</div>
4490  </a>
4491</div>
4492
4493        
4494          
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506<div
4507  data-uuid="dc4334de-14f7-493e-8703-9ec7bcfc295b"
4508  
4509  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/4 "
4510>
4511  <a
4512    class="pf-content-card-link card-link block group mb-[10px]"
4513    href="https://resources.managementcontrols.com/news-releases-mentions/col/news-releases-mentions/mytrack-helps-customers-take-advantage-of-the-inflation-reduction-acts-tax-credits?pflpid=47377&pfsid=a1WotSHMsY"
4514    
4515    
4516  >
4517    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
4518      <img
4519        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
4520        src="https://cdn.pathfactory.com/assets/11171/contents/857756/thumbnails/600x/aHViPTEzMTc5MSZjbWQ9aXRlbWVkaXRvcmltYWdlJmZpbGVuYW1lPWl0ZW1lZGl0b3JpbWFnZV82NTc4OGFjY2U2MDIzLmpwZyZ2ZXJzaW9uPTAwMDAmc2lnPWExYjQyOWRlNDFkNzBiNjJmMGFkMGZhM2UxMzBjZTJj"
4521        alt=""
4522      >
4523      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#ffffff]">
4524        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
4525          <span class="pf-content-card-title line-clamp-4">myTrack® Helps Customers Take Advantage of the Inflation Reduction Act&#39;s Tax Credits</span>
4526        </div>
4527        
4528          <div
4529            class="card-desc pf_font_preset_5 text-[#000000] pb-[10px]"
4530            style=""
4531          >
4532            <span class="pf-content-card-description line-clamp-8">
4533              Discover how Management Controls Inc.'s myTrack Platform aids companies in utilizing the Inflation Reduction Act's 48C(e) tax credit.
4534            </span>
4535          </div>
4536        
4537      </div>
4538    </div>
4539    
4540      <div class="card-cta pf_font_preset_6 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
4541      <span class="pf-content-card-cta">
4542        See more...
4543        </span>
4544        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
4545      </div>
4546    
4547    <div class="mb-[10px]"></div>
4548    
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567<div
4568  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
4569  
4570    style="display: none;"
4571  
4572>
4573  
4574  <span
4575    class="
4576  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4577"
4578    
4579      style="display: none;"
4580    
4581  >
4582    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
4583  </span>
4584  
4585</div>
4586<div
4587  onclick="event.preventDefault()"
4588  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
4589  
4590    style="display: none;"
4591  
4592>
4593  
4594  
4595</div>
4596  </a>
4597</div>
4598
4599        
4600          
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612<div
4613  data-uuid="45d1ff24-b8cc-46f5-8ade-86f2ce213688"
4614  
4615  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/4 "
4616>
4617  <a
4618    class="pf-content-card-link card-link block group mb-[10px]"
4619    href="https://resources.managementcontrols.com/news-releases-mentions/col/news-releases-mentions/mci-revolutionizes-contractor-data-management-with-the-launch-of-mytrack-the-next-generation-platform-optimized-for-real-time-insights?pflpid=47377&pfsid=a1WotSHMsY"
4620    
4621    
4622  >
4623    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
4624      <img
4625        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
4626        src="https://cdn.pathfactory.com/assets/11171/contents/857755/thumbnails/600x/aHViPTEzMTc5MSZjbWQ9aXRlbWVkaXRvcmltYWdlJmZpbGVuYW1lPWl0ZW1lZGl0b3JpbWFnZV82NTc4OGJkZTYxN2U2LnBuZyZ2ZXJzaW9uPTAwMDAmc2lnPTEyMDk1ZTJlNmE2OGYwYWJlYzYxOGRjOTFjNmUyYzAx"
4627        alt=""
4628      >
4629      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#ffffff]">
4630        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
4631          <span class="pf-content-card-title line-clamp-4">MCi Revolutionizes Contractor Data Management With the Launch of myTrack, the Next-Generation Platform Optimized For Real-Time Insights</span>
4632        </div>
4633        
4634          <div
4635            class="card-desc pf_font_preset_5 text-[#000000] pb-[10px]"
4636            style=""
4637          >
4638            <span class="pf-content-card-description line-clamp-8">
4639              Management Controls Inc. unveils myTrack®, a cutting-edge contractor data management platform.
4640            </span>
4641          </div>
4642        
4643      </div>
4644    </div>
4645    
4646      <div class="card-cta pf_font_preset_6 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
4647      <span class="pf-content-card-cta">
4648        See more...
4649        </span>
4650        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
4651      </div>
4652    
4653    <div class="mb-[10px]"></div>
4654    
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673<div
4674  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
4675  
4676    style="display: none;"
4677  
4678>
4679  
4680  <span
4681    class="
4682  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4683"
4684    
4685      style="display: none;"
4686    
4687  >
4688    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
4689  </span>
4690  
4691</div>
4692<div
4693  onclick="event.preventDefault()"
4694  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
4695  
4696    style="display: none;"
4697  
4698>
4699  
4700  
4701</div>
4702  </a>
4703</div>
4704
4705        
4706          
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718<div
4719  data-uuid="7c8591d2-1cf3-4ba4-9c41-7405122f5cb8"
4720  
4721  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/4 "
4722>
4723  <a
4724    class="pf-content-card-link card-link block group mb-[10px]"
4725    href="https://resources.managementcontrols.com/news-releases-mentions/col/news-releases-mentions/management-control
4725s-launches-mserv-global-managed-service-offering-for-track-platform?pflpid=47377&pfsid=a1WotSHMsY"
4726    
4727    
4728  >
4729    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
4730      <img
4731        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
4732        src="https://cdn.pathfactory.com/assets/11171/contents/857754/thumbnails/600x/aHViPTEzMTc5MSZjbWQ9aXRlbWVkaXRvcmltYWdlJmZpbGVuYW1lPWl0ZW1lZGl0b3JpbWFnZV82NTc4ODk3NjRkNzRiLmpwZyZ2ZXJzaW9uPTAwMDAmc2lnPWZiNzhiMDZiN2ZkNTFkNDI5ZWQ4YWRlNGNhNmRiZWI3"
4733        alt=""
4734      >
4735      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#ffffff]">
4736        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
4737          <span class="pf-content-card-title line-clamp-4">Management Controls Launches MServ, Global Managed Service Offering For Track® Platform</span>
4738        </div>
4739        
4740          <div
4741            class="card-desc pf_font_preset_5 text-[#000000] pb-[10px]"
4742            style=""
4743          >
4744            <span class="pf-content-card-description line-clamp-8">
4745              Learn more about MServ, our new global managed service for the TRACK Platform.
4746            </span>
4747          </div>
4748        
4749      </div>
4750    </div>
4751    
4752      <div class="card-cta pf_font_preset_6 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
4753      <span class="pf-content-card-cta">
4754        See more...
4755        </span>
4756        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
4757      </div>
4758    
4759    <div class="mb-[10px]"></div>
4760    
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779<div
4780  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
4781  
4782    style="display: none;"
4783  
4784>
4785  
4786  <span
4787    class="
4788  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4789"
4790    
4791      style="display: none;"
4792    
4793  >
4794    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
4795  </span>
4796  
4797</div>
4798<div
4799  onclick="event.preventDefault()"
4800  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
4801  
4802    style="display: none;"
4803  
4804>
4805  
4806  
4807</div>
4808  </a>
4809</div>
4810
4811        
4812          
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824<div
4825  data-uuid="1c0df27b-619e-45d0-b9b2-4fd65dae1a15"
4826  
4827  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/4 "
4828>
4829  <a
4830    class="pf-content-card-link card-link block group mb-[10px]"
4831    href="https://resources.managementcontrols.com/news-releases-mentions/col/news-releases-mentions/management-controls-inc-collaborates-with-coupa-to-optimize-and-manage-services-spend?pflpid=47377&pfsid=a1WotSHMsY"
4832    
4833    
4834  >
4835    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
4836      <img
4837        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
4838        src="https://cdn.pathfactory.com/assets/11171/contents/857753/thumbnails/600x/aHViPTEzMTc5MSZjbWQ9aXRlbWVkaXRvcmltYWdlJmZpbGVuYW1lPWl0ZW1lZGl0b3JpbWFnZV82NTc4OTkxYWIwZGFlLmpwZyZ2ZXJzaW9uPTAwMDAmc2lnPWI1M2QyYWE1ZDMyMmRmMTc4OGQ2YzYyMGI4Mzc2NDdi"
4839        alt=""
4840      >
4841      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#ffffff]">
4842        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
4843          <span class="pf-content-card-title line-clamp-4">Management Controls, Inc. Collaborates with Coupa to Optimize and Manage Services Spend</span>
4844        </div>
4845        
4846          <div
4847            class="card-desc pf_font_preset_5 text-[#000000] pb-[10px]"
4848            style=""
4849          >
4850            <span class="pf-content-card-description line-clamp-8">
4851              Discover the collaborative efforts of Management Controls, Inc. and Coupa Software to transform services spend management.
4852            </span>
4853          </div>
4854        
4855      </div>
4856    </div>
4857    
4858      <div class="card-cta pf_font_preset_6 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
4859      <span class="pf-content-card-cta">
4860        See more...
4861        </span>
4862        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
4863      </div>
4864    
4865    <div class="mb-[10px]"></div>
4866    
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885<div
4886  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
4887  
4888    style="display: none;"
4889  
4890>
4891  
4892  <span
4893    class="
4894  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
4895"
4896    
4897      style="display: none;"
4898    
4899  >
4900    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
4901  </span>
4902  
4903</div>
4904<div
4905  onclick="event.preventDefault()"
4906  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
4907  
4908    style="display: none;"
4909  
4910>
4911  
4912  
4913</div>
4914  </a>
4915</div>
4916
4917        
4918      </div>
4919      <div class="pf-no-results text-xl text-center w-full p-15" style="display: none;">No results match the search/filter criteria</div>
4920      
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939  <div class="pf-lazy-load-container my-0 mt-14 mx-auto" >
4940    <button 
4941      class="pf-lazy-load-button bg-[#ff9933] hover:bg-[#cc7b2b] py-2 px-4 border-2 border-black rounded border-opacity-100"
4942    >
4943      Load more...
4944    </button>
4945  </div>
4946
4947
4948
4949
4950 
4951
4952<script >
4953  document.querySelector(".section-a1WotSHMsY .pf-lazy-load-button")?.addEventListener("click", () => {
4954  const currentPage = window.pfResourceCenterParams?.["a1WotSHMsY"]?.page || 1;
4955    pfGetContents({ sectionNodeId: "a1WotSHMsY", isLoadMore: true, updateParams: {page: currentPage + 1}});
4956  }); 
4957  
4958  document.querySelector(".section-a1WotSHMsY .pf-pagination-item-previous")?.addEventListener("click", (event) => {
4959    let nextPage = (window.pfResourceCenterParams?.["a1WotSHMsY"]?.page || 1) - 1;
4960    if (nextPage < 1) {
4961      nextPage = 1;
4962    }
4963    pfGetContents({ sectionNodeId: "a1WotSHMsY", updateParams: { page: nextPage } });
4964  });
4965  
4966  document.querySelector(".section-a1WotSHMsY .pf-pagination-item-next")?.addEventListener("click", (event) => {
4967    const totalContents = window.pfResourceCenterParams?.["a1WotSHMsY"]?.totalContents;
4968    const contentsPerPage = 12;
4969    const totalPages = Math.ceil(totalContents / contentsPerPage);
4970    const contentsLoaded = document.querySelectorAll(".section-a1WotSHMsY .pf-content-card:not(.template)").length;
4971    const allContentsLoaded = contentsLoaded === totalContents;
4972    let nextPage = (window.pfResourceCenterParams?.["a1WotSHMsY"]?.page || 1) + 1;
4973    if (nextPage > totalPages) {
4974      nextPage = totalPages;
4975    }
4976    if (allContentsLoaded) {
4977      nextPage = (window.pfResourceCenterParams?.["a1WotSHMsY"]?.page || 1);
4978    }
4979    pfGetContents({ sectionNodeId: "a1WotSHMsY", updateParams: { page: nextPage } });
4980  });
4981  document.querySelectorAll(".section-a1WotSHMsY .pf-pagination-item").forEach((link, index) => {
4982    link.addEventListener("click", (event) => {
4983      if (link.textContent === "...") {
4984        return;
4985      }
4986      const pageNumber = parseInt(link.textContent);
4987      pfGetContents({ sectionNodeId: "a1WotSHMsY", updateParams: { page: pageNumber } });
4988    })
4989  });
4990
4991  document.addEventListener('pageMetadataUpdated', (event) => {
4992    if (event.detail !== "a1WotSHMsY") return;
4993    const currentPage = window.pfResourceCenterParams?.["a1WotSHMsY"]?.page || 1;
4994    const totalContents = window.pfResourceCenterParams?.["a1WotSHMsY"]?.totalContents;
4995    const totalPages = Math.ceil(totalContents / 12);
4996    const pageNumbers = pfGeneratePageOptions({ page: currentPage, totalPages});
4997    const lazyLoadButton  = document.querySelector(".section-a1WotSHMsY .pf-lazy-load-button");
4998    const contentsLoaded = document.querySelectorAll(".section-a1WotSHMsY .pf-content-card:not(.template)").length;
4999    const allContentsLoaded = contentsLoaded === totalContents;
5000    if (lazyLoadButton && (totalPages === currentPage || totalContents === 0 || allContentsLoaded)) {
5001      lazyLoadButton.style.display = 'none';
5002    } else if (lazyLoadButton) {
5003      lazyLoadButton.style.display = "";
5004    } 
5005    const activePageClasses = "flex rounded-full items-center justify-center bg-[#ff9933] text-[#ffffff] w-7 h-7".split(' ');     
5006    document.querySelectorAll(".section-a1WotSHMsY .pf-pagination-item").forEach((link, index) => {
5007      link.textContent = pageNumbers[index];
5008      if (pageNumbers[index] !== "...") link.setAttribute("aria-label", `Page ${pageNumbers[index]} of recommended assets`);
5009      link.style.display = "";
5010      if (pageNumbers[index] === currentPage) {
5011        link.classList.add(...activePageClasses);
5012        link.setAttribute("aria-current", "page")
5013      } else {
5014        link.classList.remove(...activePageClasses);
5015        link.removeAttribute("aria-current");
5016      }          
5017      if (index + 1 > pageNumbers.length || (allContentsLoaded && index > 0)) {
5018        link.style.display = 'none';
5019      }
5020    });     
5021  });
5022</script>
5022 
5023    </div>
5024  </div>
5025  </div>
5026  </section>
5027  
5027<script>
5028    pfGetFilters("a1WotSHMsY");
5029  </script>
5029
5030
5031<style>
5032  .searchClose{
5033    background: #ff9933;
5034    padding: 0.65rem;
5035    height: 30px;
5036    border-radius: 150px;
5037  }
5038  .dropdown-list .pf-options [type='checkbox']:checked {
5039    background-color: #000;
5040  }
5041  .filters-container{
5042    box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
5043    padding: .75rem 0;
5044  }
5045
5046  .filters-container .dropdown-button:hover 
5047  {
5048    box-shadow: 0 0 5px rgba(0, 0, 0, .15);
5049  }
5050  
5051  .filters-container .pf-label {
5052     font-family: proxima-nova-bold !important;
5053     font-size: 16px !important;
5054     font-weight: 700 !important;
5055    }
5056
5057    .filters-container .pf-label:hover
5058    {
5059     color: rgba(255, 153, 51, 1) !important;
5060    }
5061
5062    .filters-container .pf-options
5063    {
5064     display:flex;
5065     align-items:center;
5066    }
5067    
5068  .cards-container {
5069    max-width: 275px;
5070    margin: 0 auto;
5071  }
5072  .cards-wrapper {
5073    grid-template-columns: repeat(auto-fill, minmax(275px, 0fr));
5074    grid-template-rows: repeat(auto-fill, minmax(363px, auto));
5075    gap: 20px;
5076  }
5077  .card-particular {
5078    width: 275px;
5079    height: 363px;
5080    padding: 0px;
5081    margin: 0;
5082  }
5083  .card-link {
5084    box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
5085    height: 100%;
5086    width: 100%;
5087  }
5088  .card-content-container{
5089    height: calc(100%-45px);
5090    width: 100%;
5091  }
5092  .card-content-container .pf-content-card-thumbnail {
5093    height: 140px;
5094    transform: none !important;
5095  }
5096  .card-content {
5097    height: 178px;
5098    padding: 10px 20px;
5099  }
5100  .card-desc {
5101    display: none;
5102    margin-top: 20px;
5103  }
5104  .card-title {
5105    height: auto;
5106    margin-top: 8px;
5107  }
5108  .card-cta {
5109    height: 45px;
5110    display: flex;
5111    align-items: center;
5112    padding-left: 20px;
5113  }
5114  .card-particular:hover .card-content-container .pf-content-card-thumbnail{
5115    display: none;
5116  }
5117  .card-particular:hover .card-cta {
5118    background: rgba(255, 153, 51, 0.8);
5119    text-decoration: underline;
5120  }
5121  .card-particular:hover .card-content {
5122    height: 318px;
5123  }
5124  .card-particular:hover .card-title {
5125    display: none;
5126  }
5127  .card-particular:hover .card-desc{
5128    display: block;
5129  }
5130
5131  .pf-lazy-load-button
5132  {
5133    letter-spacing: 2.99px !important;
5134    text-transform: uppercase !important;
5135    width: 250px;
5136    height: 40px;
5137    border: none;
5138    border-radius: 25px;
5139    display:flex;
5140    justify-content:center;
5141  }
5142
5143  @media (min-width: 700px) {
5144    .cards-container {
5145      max-width: 570px;
5146    }
5147  }
5148
5149  @media (min-width: 1279px) {
5150  .cards-container {
5151    max-width: 1160px;
5152  }
5153  .card-particular:first-child {
5154    grid-column: span 2;
5155    grid-row: span 2;
5156    width: 570px;
5157    height: 746px;
5158    max-width: 570px;
5159    padding: 0px;
5160  }
5161  .card-container .card-particular:first-child .card-img-content {
5162    width: 100%;
5163  }
5164  .card-particular:first-child .card-content-container .pf-content-card-thumbnail {
5165    height: 280px;
5166  }
5167  .card-particular:first-child .card-content {
5168    height: 421px;
5169  }
5170  .card-particular:first-child .card-title span {
5171    font-size: 50px;
5172  }
5173  .card-particular:first-child .card-desc {
5174    display: block;
5175  }
5176  .card-particular:first-child .card-desc span {
5177    font-size: 18px;
5178  }
5179
5180  .card-particular:first-child:hover .card-content {
5181    height: 701px;
5182  }
5183  .card-particular:first-child:hover .card-title{
5184    display: block;
5185  }
5186}
5187
5188 @media (max-width: 639px)
5189 {
5190  .searchClose
5191  {
5192    margin-top:6px;
5193  }
5194 }
5195</style>
5196
5197<script>
5198
5199 document.addEventListener('DOMContentLoaded', () => {
5200   const searchToggle = document.getElementById('searchToggle');
5201   const searchBox = document.querySelector('.searchBox');
5202   const searchClose = document.querySelector('.searchClose');
5203
5204   if(searchToggle){
5205     searchToggle.addEventListener('click', () => {
5206       if(searchBox){
5207         searchBox.classList.remove('hidden');
5208         searchToggle.classList.add('hidden');
5209       }
5210     });
5211   }
5212
5213   if(searchClose){
5214     searchClose.addEventListener('click', () => {
5215       if(searchBox){
5216         searchBox.classList.add('hidden');
5217         searchToggle.classList.remove('hidden');
5218       }
5219     });
5220   }
5221 });
5222
5223</script>
5223
5224
5225
5226<section data-pf-theme-artefact-id="custom-footer"
5227      data-pf-theme-artefact-file-id="107edd5b-5ef4-4f5a-afb1-30d49ee358ea"
5228      data-pf-theme-artefact-filename="custom-footer"
5229      data-pf-theme-block-id="eH9Iixa3uX"
5230      data-pf-theme-block-type="section"
5231      data-pf-theme-block-pos="2"
5232      data-pf-theme-block-ref="footer"><button type="button" id="uf-back-to-top" class="uf-back-to-top uf-button" aria-label="Scroll to Top">
5233  <i class="fas fa-arrow-up" aria-hidden="true"></i>
5234</button>
5235<div id="injected-footer">
5236   <footer class="footer">
5237      <div class="container-fluid footer__container content-wrapper">
5238         <div class="row-fluid-wrapper">
5239            <div class="row-fluid">
5240               <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
5241                  <div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section footer-richtext-section-footer-row-0-padding">
5242                     <div class="row-fluid ">
5243                        <div class="span12 widget-span widget-type-cell footer-richtext-section-footer-column-1-padding dnd-column" data-widget-type="cell" data-x="0" data-w="12">
5244                           <div class="row-fluid-wrapper row-depth-1 row-number-2 footer-richtext-section-footer-column-1-row-0-margin footer-richtext-section-footer-column-1-row-0-padding dnd-row">
5245                              <div class="row-fluid ">
5246                                 <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5247                                    <div id="hs_cos_wrapper_footer-richtext-section-footer-module-2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5248                                       <span id="hs_cos_wrapper_footer-richtext-section-footer-module-2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text">
5249                                          <div class="footer-richtext-box" style="display: flex; background-color: #ff9933; border-radius: 15px; padding: 20px;">
5250                                             <div class="left-footer-richtext-box">
5251                                                <h3 style="color: #4e4e4e!important; font-size: 30px; margin-bottom: 5px;"><span style="color: #ffffff;">Schedule a Time to Connect with Us</span></h3>
5252                                                <p><span style="color: #ffffff;">Get in touch with our experts to see if myTrack is a fit for your business!</span></p>
5253                                             </div>
5254                                             <div class="right-footer-richtext-box"><a href="https://meetings.hubspot.com/sbroady/mci-introcall?uuid=d274a535-44f5-4f71-9675-e432e20ed83e" rel="noopener" data-internal="false" class="hooked">Schedule Meeting</a></div>
5255                                          </div>
5256                                       </span>
5257                                    </div>
5258                                 </div>
5259                                 <!--end widget-span -->
5260                              </div>
5261                              <!--end row-->
5262                           </div>
5263                           <!--end row-wrapper -->
5264                        </div>
5265                        <!--end widget-span -->
5266                     </div>
5267                     <!--end row-->
5268                  </div>
5269                  <!--end row-wrapper -->
5270               </div>
5271               <!--end widget-span -->
5272            </div>
5273         </div>
5274      </div>
5275      <div class="inner-footer-container">
5276         <div class="inner-first-half-container">
5277            <div class="first-inner-footer-container">
5278               <div class="footer-logo-container">
5279                  <img src="https://6486746.fs1.hubspotusercontent-na1.net/hubfs/6486746/Home%202024%20Assets/MCi%2BLogo.svg">
5280               </div>
5281               <!--.footer-logo-container-->
5282               <div class="container-fluid footer__container content-wrapper">
5283                  <div class="row-fluid-wrapper">
5284                     <div class="row-fluid">
5285                        <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
5286                           <div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section footer-row-0-padding">
5287                              <div class="row-fluid ">
5288                                 <div class="span12 widget-span widget-type-cell footer-column-1-padding dnd-column" data-widget-type="cell" data-x="0" data-w="12">
5289                                    <div class="row-fluid-wrapper row-depth-1 row-number-2 footer-column-1-row-0-margin dnd-row">
5290                                       <div class="row-fluid ">
5291                                          <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5292                                             <div id="hs_cos_wrapper_footer-module-2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5293                                                <span id="hs_cos_wrapper_footer-module-2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text">
5294                                                   <div>
5295                                                      <p style="margin: 20px 0px;">15600 John F Kennedy Blvd Suite 850, <br>Houston, TX, 77032, United States</p>
5296                                                   </div>
5297                                                   <div style="margin: 0;">
5298                                                      <p style="margin: 0!important;"><a style="margin: 0;" href="tel:+2815905881" data-internal="false" rel="noopener" class="hooked">281-590-5881</a></p>
5299                                                   </div>
5300                                                   <div>
5301                                                      <p><a href="/cdn-cgi/l/email-protection#196a78757c6a59747a7a766b69377a7674" data-internal="false" rel="noopener" class="hooked">
5301<span class="__cf_email__" data-cfemail="285b49444d5b68454b4b475a58064b4745">[email&#160;protected]</span></a></p>
5302                                                   </div>
5303                                                </span>
5304                                             </div>
5305                                          </div>
5306                                          <!--end widget-span -->
5307                                       </div>
5308                                       <!--end row-->
5309                                    </div>
5310                                    <!--end row-wrapper -->
5311                                    <div class="row-fluid-wrapper row-depth-1 row-number-3 dnd-row">
5312                                       <div class="row-fluid ">
5313                                          <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5314                                             <div id="hs_cos_wrapper_footer-module-3" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5315                                                <div class="social-links">
5316                                                   <a class="social-links__link hooked" href="https://www.facebook.com/ManagementControlsInc/" target="_blank" rel="noopener" data-internal="false">
5317                                                      <span id="hs_cos_wrapper_footer-module-3_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_icon social-links__icon" data-hs-cos-general-type="widget" data-hs-cos-type="icon">
5318                                                         <svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" aria-labelledby="Facebook F1" role="img">
5319                                                            <title id="Facebook F1">Follow us on Facebook</title>
5320                                                            <g id="Facebook F1_layer">
5321                                                               <path d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"></path>
5322                                                            </g>
5323                                                         </svg>
5324                                                      </span>
5325                                                   </a>
5326                                                   <a class="social-links__link hooked" href="https://www.linkedin.com/company/management-controls-inc/" target="_blank" rel="noopener" data-internal="false">
5327                                                      <span id="hs_cos_wrapper_footer-module-3__2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_icon social-links__icon" data-hs-cos-general-type="widget" data-hs-cos-type="icon">
5328                                                         <svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" aria-labelledby="LinkedIn In2" role="img">
5329                                                            <title id="LinkedIn In2">Follow us on LinkedIn</title>
5330                                                            <g id="LinkedIn In2_layer">
5331                                                               <path d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"></path>
5332                                                            </g>
5333                                                         </svg>
5334                                                      </span>
5335                                                   </a>
5336                                                   <a class="social-links__link hooked" href="https://twitter.com/MgmtControlsInc?lang=en" target="_blank" rel="noopener" data-internal="false">
5337                                                      <span id="hs_cos_wrapper_footer-module-3__3" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_icon social-links__icon" data-hs-cos-general-type="widget" data-hs-cos-type="icon">
5338                                                         <svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" aria-labelledby="X Twitter3" role="img">
5339                                                            <title id="X Twitter3">Follow us on Twitter</title>
5340                                                            <g id="X Twitter3_layer">
5341                                                               <path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path>
5342                                                            </g>
5343                                                         </svg>
5344                                                      </span>
5345                                                   </a>
5346                                                </div>
5347                                             </div>
5348                                          </div>
5349                                          <!--end widget-span -->
5350                                       </div>
5351                                       <!--end row-->
5352                                    </div>
5353                                    <!--end row-wrapper -->
5354                                    <div class="row-fluid-wrapper row-depth-1 row-number-4 dnd-row footer-column-1-row-2-margin">
5355                                       <div class="row-fluid "></div>
5356                                       <!--end row-->
5357                                    </div>
5358                                    <!--end row-wrapper -->
5359                                 </div>
5360                                 <!--end widget-span -->
5361                              </div>
5362                              <!--end row-->
5363                           </div>
5364                           <!--end row-wrapper -->
5365                        </div>
5366                        <!--end widget-span -->
5367                     </div>
5368                  </div>
5369               </div>
5370            </div>
5371            <!--first-inner-footer-container-->
5372         </div>
5373         <!--.inner-first-half-container-->
5374         <div class="inner-second-half-container">
5375            <div class="second-inner-footer-container">
5376               <div class="container-fluid footer__container content-wrapper">
5377                  <div class="row-fluid-wrapper">
5378                     <div class="row-fluid">
5379                        <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
5380                           <div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section second-section-footer-row-0-padding">
5381                              <div class="row-fluid ">
5382                                 <div class="span12 widget-span widget-type-cell second-section-footer-column-1-padding dnd-column" data-widget-type="cell" data-x="0" data-w="12">
5383                                    <div class="row-fluid-wrapper row-depth-1 row-number-2 second-section-footer-column-1-row-0-margin dnd-row">
5384                                       <div class="row-fluid ">
5385                                          <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5386                                             <div id="hs_cos_wrapper_second-section-footer-module-2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5387                                                <span id="hs_cos_wrapper_second-section-footer-module-2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text">
5388                                                   <div style="display: flex; border-bottom: 1px dotted #212121;">
5389                                                      <h5 style="color: #4e4e4e!important; font-size: 25px; margin-bottom: 5px;">Explore</h5>
5390                                                   </div>
5391                                                </span>
5392                                             </div>
5393                                          </div>
5394                                          <!--end widget-span -->
5395                                       </div>
5396                                       <!--end row-->
5397                                    </div>
5398                                    <!--end row-wrapper -->
5399                                    <div class="row-fluid-wrapper row-depth-1 row-number-3 second-section-footer-column-1-row-1-padding dnd-row">
5400                                       <div class="row-fluid ">
5401                                          <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5402                                             <div id="hs_cos_wrapper_second-section-footer-module-3" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-menu" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5403                                                <span id="hs_cos_wrapper_second-section-footer-module-3_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
5404                                                   <div id="hs_menu_wrapper_second-section-footer-module-3_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="151998338083" aria-label="Navigation Menu">
5405                                                      <ul role="menu">
5406                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/" role="menuitem" data-internal="false" rel="noopener" class="hooked">Home</a></li>
5407                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/myTrack-platform/overview" role="menuitem" data-internal="false" rel="noopener" class="hooked">myTrack Overview</a></li>
5408                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/services/managed-services/Mserv" role="menuitem" data-internal="false" rel="noopener" class="hooked">MServ Managed Services</a></li>
5409                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://managementcontrols.com/mytrack-platform/integrations-and-security" role="menuitem" data-internal="false" rel="noopener" class="hooked">System Integrations</a></li>
5410                                                      </ul>
5411                                                   </div>
5412                                                </span>
5413                                             </div>
5414                                          </div>
5415                                          <!--end widget-span -->
5416                                       </div>
5417                                       <!--end row-->
5418                                    </div>
5419                                    <!--end row-wrapper -->
5420                                 </div>
5421                                 <!--end widget-span -->
5422                              </div>
5423                              <!--end row-->
5424                           </div>
5425                           <!--end row-wrapper -->
5426                        </div>
5427                        <!--end widget-span -->
5428                     </div>
5429                  </div>
5430               </div>
5431            </div>
5432            <!--.second-inner-footer-container-->
5433            <div class="third-inner-footer-container">
5434               <div class="container-fluid footer__container content-wrapper">
5435                  <div class="row-fluid-wrapper">
5436                     <div class="row-fluid">
5437                        <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
5438                           <div class="row-fluid-wrapper row-depth-1 row-number-1 third-section-footer-row-0-padding dnd-section">
5439                              <div class="row-fluid ">
5440                                 <div class="span12 widget-span widget-type-cell third-section-footer-column-1-padding dnd-column" data-widget-type="cell" data-x="0" data-w="12">
5441                                    <div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row third-section-footer-column-1-row-0-margin third-section-footer-column-1-row-0-padding">
5442                                       <div class="row-fluid ">
5443                                          <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5444                                             <div id="hs_cos_wrapper_third-section-footer-module-2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5445                                                <span id="hs_cos_wrapper_third-section-footer-module-2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text">
5446                                                   <div style="display: flex; border-bottom: 1px dotted #212121;">
5447                                                      <h5 style="color: #4e4e4e!important; font-size: 25px; margin-bottom: 5px;">Learn</h5>
5448                                                   </div>
5449                                                </span>
5450                                             </div>
5451                                          </div>
5452                                          <!--end widget-span -->
5453                                       </div>
5454                                       <!--end row-->
5455                                    </div>
5456                                    <!--end row-wrapper -->
5457                                    <div class="row-fluid-wrapper row-depth-1 row-number-3 third-section-footer-column-1-row-1-padding dnd-row">
5458                                       <div class="row-fluid ">
5459                                          <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5460                                             <div id="hs_cos_wrapper_third-section-footer-module-3" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-menu" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5461                                                <span id="hs_cos_wrapper_third-section-footer-module-3_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
5462                                                   <div id="hs_menu_wrapper_third-section-footer-module-3_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="152000122040" aria-label="Navigation Menu">
5463                                                      <ul role="menu">
5464                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://managementcontrols.docebosaas.com/learn" role="menuitem" data-internal="false" rel="noopener" class="hooked">Track University</a></li>
5465                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/news" role="menuitem" data-internal="false" rel="noopener" class="hooked">News &amp; Mentions</a></li>
5466                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/schedule-meeting" role="menuitem" data-internal="false" rel="noopener" class="hooked">Schedule a Meeting</a></li>
5467                                                      </ul>
5468                                                   </div>
5469                                                </span>
5470                                             </div>
5471                                          </div>
5472                                          <!--end widget-span -->
5473                                       </div>
5474                                       <!--end row-->
5475                                    </div>
5476                                    <!--end row-wrapper -->
5477                                 </div>
5478                                 <!--end widget-span -->
5479                              </div>
5480                              <!--end row-->
5481                           </div>
5482                           <!--end row-wrapper -->
5483                        </div>
5484                        <!--end widget-span -->
5485                     </div>
5486                  </div>
5487               </div>
5488            </div>
5489            <!--.third-inner-footer-container-->
5490            <div class="fourth-inner-footer-container">
5491               <div class="container-fluid footer__container content-wrapper">
5492                  <div class="row-fluid-wrapper">
5493                     <div class="row-fluid">
5494                        <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
5495                           <div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section fourth-section-footer-row-0-padding">
5496                              <div class="row-fluid ">
5497                                 <div class="span12 widget-span widget-type-cell fourth-section-footer-column-1-padding dnd-column" data-widget-type="cell" data-x="0" data-w="12">
5498                                    <div class="row-fluid-wrapper row-depth-1 row-number-2 dnd-row fourth-section-footer-column-1-row-0-margin">
5499                                       <div class="row-fluid ">
5500                                          <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5501                                             <div id="hs_cos_wrapper_fourth-section-footer-module-2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5502                                                <span id="hs_cos_wrapper_fourth-section-footer-module-2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text">
5503                                                   <div style="display: flex; border-bottom: 1px dotted #212121;">
5504                                                      <h5 style="color: #4e4e4e!important; font-size: 25px; margin-bottom: 5px;">About</h5>
5505                                                   </div>
5506                                                </span>
5507                                             </div>
5508                                          </div>
5509                                          <!--end widget-span -->
5510                                       </div>
5511                                       <!--end row-->
5512                                    </div>
5513                                    <!--end row-wrapper -->
5514                                    <div class="row-fluid-wrapper row-depth-1 row-number-3 fourth-section-footer-column-1-row-1-padding dnd-row">
5515                                       <div class="row-fluid ">
5516                                          <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5517                                             <div id="hs_cos_wrapper_fourth-section-footer-module-3" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-menu" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5518                                                <span id="hs_cos_wrapper_fourth-section-footer-module-3_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_menu" data-hs-cos-general-type="widget" data-hs-cos-type="menu">
5519                                                   <div id="hs_menu_wrapper_fourth-section-footer-module-3_" class="hs-menu-wrapper active-branch flyouts hs-menu-flow-horizontal" role="navigation" data-sitemap-name="default" data-menu-id="151998841618" aria-label="Navigation Menu">
5520                                                      <ul role="menu">
5521                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/company/about-mci" role="menuitem" data-internal="false" rel="noopener" class="hooked">About MCi</a></li>
5522                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/meet-our-team" role="menuitem" data-internal="false" rel="noopener" class="hooked">Meet Our Leadership Team</a></li>
5523                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/our-customers" role="menuitem" data-internal="false" rel="noopener" class="hooked">Our Customers</a></li>
5524                                                         <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/careers" role="menuitem" data-internal="false" rel="noopener" class="hooked">Careers</a></li>
5525                                                        <li class="hs-menu-item hs-menu-depth-1" role="none"><a href="https://www.managementcontrols.com/contact-us" role="menuitem" data-internal="false" rel="noopener" class="hooked">Contact Us</a></li>
5526                                                      </ul>
5527                                                   </div>
5528                                                </span>
5529                                             </div>
5530                                          </div>
5531                                          <!--end widget-span -->
5532                                       </div>
5533                                       <!--end row-->
5534                                    </div>
5535                                    <!--end row-wrapper -->
5536                                 </div>
5537                                 <!--end widget-span -->
5538                              </div>
5539                              <!--end row-->
5540                           </div>
5541                           <!--end row-wrapper -->
5542                        </div>
5543                        <!--end widget-span -->
5544                     </div>
5545                  </div>
5546               </div>
5547            </div>
5548            <!--.fourth-inner-footer-container-->
5549         </div>
5550         <!--.inner-second-half-container-->
5551      </div>
5552      <!--.inner-footer-container-->
5553      <div class="outer-bottom-footer-container">
5554         <div class="container-fluid footer__container content-wrapper">
5555            <div class="row-fluid-wrapper">
5556               <div class="row-fluid">
5557                  <div class="span12 widget-span widget-type-cell " data-widget-type="cell" data-x="0" data-w="12">
5558                     <div class="row-fluid-wrapper row-depth-1 row-number-1 dnd-section very-bottom-section-footer-row-0-padding">
5559                        <div class="row-fluid ">
5560                           <div class="span12 widget-span widget-type-cell very-bottom-section-footer-column-1-padding dnd-column" data-widget-type="cell" data-x="0" data-w="12">
5561                              <div class="row-fluid-wrapper row-depth-1 row-number-2 very-bottom-section-footer-column-1-row-0-margin dnd-row">
5562                                 <div class="row-fluid "></div>
5563                                 <!--end row-->
5564                              </div>
5565                              <!--end row-wrapper -->
5566                              <div class="row-fluid-wrapper row-depth-1 row-number-3 very-bottom-section-footer-column-1-row-1-margin dnd-row">
5567                                 <div class="row-fluid ">
5568                                    <div class="span12 widget-span widget-type-custom_widget dnd-module" data-widget-type="custom_widget" data-x="0" data-w="12">
5569                                       <div id="hs_cos_wrapper_very-bottom-section-footer-module-2" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module widget-type-rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="module">
5570                                          <span id="hs_cos_wrapper_very-bottom-section-footer-module-2_" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text" data-hs-cos-general-type="widget" data-hs-cos-type="rich_text">
5571                                             <div style="text-align: center; font-size: 0.9rem; color: rgba(226, 227, 228, 0.65)!important;"><span style="color: rgba(226, 227, 228, 0.65)!important;"> © 2024 Management Controls. All Rights Reserved. Privacy Policy | Cookie Policy</span></div>
5572                                          </span>
5573                                       </div>
5574                                    </div>
5575                                    <!--end widget-span -->
5576                                 </div>
5577                                 <!--end row-->
5578                              </div>
5579                              <!--end row-wrapper -->
5580                           </div>
5581                           <!--end widget-span -->
5582                        </div>
5583                        <!--end row-->
5584                     </div>
5585                     <!--end row-wrapper -->
5586                  </div>
5587                  <!--end widget-span -->
5588               </div>
5589            </div>
5590         </div>
5591      </div>
5592      <!--.outer-bottom-footer-container-->
5593   </footer>
5594</div>
5595<style>
5596/*! CSS Used from: https://content.cdntwrk.com/themes/vanilla/e883a46/public/css/template_sets_default_pages_hub_page.b43113d50d7e9ec1d28a.chunk.css */
5597a,div,footer,h3,h5,img,li,p,span,ul{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
5598footer{display:block;}
5599ul{list-style:none;}
5600h3,h5,li,p,ul{margin:0;padding:0;}
5601h3,h5{font-size:100%;font-weight:400;}
5602ul{list-style:none;}
5603*,:after,:before{box-sizing:inherit;}
5604img{height:auto;max-width:100%;}
5605footer{display:block;}
5606a{color:#049cdb;cursor:pointer;text-decoration:none;}
5607a:hover{color:#363636;}
5608img{height:auto;max-width:100%;}
5609span{font-style:inherit;font-weight:inherit;}
5610.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem;}
5611*{box-sizing:border-box;}
5612a{color:#0064cd;}
5613/*! CSS Used from: https://cihost.uberflip.com/management-controls-tv2/master/build/en/en.css */
5614#injected-footer{margin-top:200px;}
5615@media (max-width:716px){
5616#injected-footer{margin-top:250px;}
5617}
5618@media (max-width:400px){
5619#injected-footer{margin-top:300px;}
5620}
5621@media (max-width:352px){
5622#injected-footer{margin-top:360px;}
5623}
5624#injected-footer .footer{line-height:1.4;word-wrap:break-word;color:#4e4e4e;font-size:16px;font-family:Arial,sans-serif;font-style:normal;font-weight:400;background-color:#f2f2f2;border-top:3px solid #707070;display:flex;flex-flow:column;position:relative;background-image:url(https://6486746.fs1.hubspotusercontent-na1.net/hubfs/6486746/Home%202024%20Assets/dots.svg);padding:0!important;}
5625#injected-footer .footer *{box-sizing:border-box;}
5626@media (max-width:280px){
5627#injected-footer .footer{width:280px!important;}
5628}
5629#injected-footer .footer span{color:#4e4e4e;}
5630#injected-footer .footer .content-wrapper{margin:0 auto;padding:0 16px;max-width:1580px;}
5631@media screen and (min-width:1380px){
5632#injected-footer .footer .content-wrapper{padding:0;}
5633}
5634@media (max-width:280px){
5635#injected-footer .footer .content-wrapper{width:250px!important;}
5636}
5637#injected-footer .footer .row-fluid{flex-wrap:wrap;width:100%;}
5638#injected-footer .footer .row-fluid .span12{min-height:1px;width:100%;}
5639#injected-footer .footer .footer-richtext-section-footer-row-0-padding{padding:0!important;}
5640#injected-footer .footer .dnd-section>.row-fluid{margin:0 auto;max-width:1580px;}
5641#injected-footer .footer .footer-richtext-section-footer-column-1-row-0-margin{margin-top:12px!important;margin-bottom:12px!important;}
5642#injected-footer .footer .footer-richtext-box{position:absolute;top:0;left:50%;transform:translate(-50%,-75%);max-width:1280px;width:85vw;align-items:center;}
5643@media (max-width:980px){
5644#injected-footer .footer .footer-richtext-box{flex-flow:column;}
5645}
5646#injected-footer .footer .left-footer-richtext-box{width:60%;}
5647@media (max-width:980px){
5648#injected-footer .footer .left-footer-richtext-box{width:100%;}
5649}
5650#injected-footer .footer h3{color:#4d4d4d;font-family:Montserrat,serif;font-size:30px;font-style:normal;font-weight:700;text-decoration:none;text-transform:none;}
5651#injected-footer .footer .right-footer-richtext-box{width:40%;display:block;}
5652#injected-footer .footer .right-footer-richtext-box a{background:#fff;border-radius:10px;color:#4d4d4d;padding:12px 20px;font-size:20px;}
5653#injected-footer .footer .right-footer-richtext-box a:hover{color:#4d4d4d!important;}
5654@media (max-width:980px){
5655#injected-footer .footer .right-footer-richtext-box{width:100%;margin:25px 0;}
5656}
5657#injected-footer .footer p{font-size:16px;margin:0 0 22.4px;color:#4e4e4e;}
5658#injected-footer .footer a{color:#4e4e4e;font-size:16px;font-family:Arial,sans-serif;font-style:normal;font-weight:400;text-decoration:none;}
5659#injected-footer .footer a:hover{color:#262626;}
5660#injected-footer .footer .inner-footer-container{display:flex;max-width:1208px;width:100%;margin:0 auto;position:relative;z-index:1;padding:55px 0 0;}
5661@media (max-width:980px){
5662#injected-footer .footer .inner-footer-container{display:flex;max-width:1208px;width:100%;margin:0 auto;position:relative;z-index:1;padding:55px 0;flex-flow:column;}
5663}
5664@media (max-width:1200px){
5665#injected-footer .footer .inner-footer-container{padding-left:15px;padding-right:15px;width:-webkit-fill-available;}
5666}
5667@media (max-width:1379px){
5668#injected-footer .footer .footer-logo-container{padding:0 16px;}
5669}
5670#injected-footer .footer .inner-first-half-container{width:40%;}
5671#injected-footer .footer .first-inner-footer-container{margin-top:25px;}
5672#injected-footer .footer img{font-size:9.328px;word-break:normal;}
5673#injected-footer .footer .footer-row-0-padding{padding:0!important;}
5674#injected-footer .footer .footer-column-1-row-0-margin{margin-top:12px!important;margin-bottom:12px!important;}
5675#injected-footer .footer .social-links{align-items:center;display:flex;flex-wrap:wrap;margin-top:75px;justify-content:flex-start;}
5676#injected-footer .footer #hs_cos_wrapper_footer-module-3 .social-links__icon{background-color:#4e4e4e;}
5677#injected-footer .footer #hs_cos_wrapper_footer-module-3 .social-links__icon:hover{background-color:#000;}
5678#injected-footer .footer .social-links__icon{border-radius:5px;
5678display:inline-flex;height:28px;margin:0 5.6px;position:relative;width:28px;}
5679#injected-footer .footer .social-links__icon svg{fill:#fff;height:16.7969px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:auto;}
5680#injected-footer .footer .inner-second-half-container{display:flex;flex-flow:wrap;width:60%;justify-content:space-between;}
5681#injected-footer .footer .inner-second-half-container .second-inner-footer-container{width:32%;}
5682@media (max-width:980px){
5683#injected-footer .footer .inner-second-half-container{flex-flow:column;}
5684}
5685#injected-footer .footer .second-section-footer-column-1-row-0-margin{margin-top:12px!important;margin-bottom:12px!important;}
5686#injected-footer .footer h5{color:#f93;font-family:Montserrat,serif;font-style:normal;font-weight:400;text-decoration:none;text-transform:none;margin:0 0 5px;}
5687#injected-footer .footer .hs-menu-wrapper ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding-left:0;flex-flow:column;}
5688#injected-footer .footer li:not(last-child){margin-bottom:10px;font-size:20px;}
5689@media (min-width:768px){
5690#injected-footer .footer li.hs-menu-item.hs-menu-depth-1{margin-bottom:7px;text-decoration:underline;}
5691}
5692#injected-footer .footer .third-inner-footer-container{width:32%;}
5693#injected-footer .footer .third-section-footer-column-1-row-0-margin{margin-top:12px!important;margin-bottom:12px!important;}
5694#injected-footer .footer .third-section-footer-column-1-row-1-padding{padding:0!important;}
5695#injected-footer .footer .fourth-inner-footer-container{width:32%;}
5696#injected-footer .footer .fourth-section-footer-column-1-row-0-margin{margin-top:12px!important;margin-bottom:12px!important;}
5697#injected-footer .footer .outer-bottom-footer-container{background-color:#212121;border-top:10px solid #ed7a23;}
5698#injected-footer .footer .very-bottom-section-footer-row-0-padding{padding:0!important;}
5699#injected-footer .footer .very-bottom-section-footer-column-1-padding{padding:25px 0!important;}
5700#injected-footer .footer .very-bottom-section-footer-column-1-row-0-margin{margin-top:0!important;margin-bottom:0!important;}
5701#injected-footer .footer #hs_cos_wrapper_very-bottom-section-footer-module-2_ span{text-align:center;font-size:14.4px;}
5702#injected-footer .footer .footer-column-1-row-2-margin{margin-top:12px!important;margin-bottom:12px!important;}
5703@media (max-width:980px){
5704#injected-footer .footer .fourth-inner-footer-container,#injected-footer .footer .inner-first-half-container,#injected-footer .footer .inner-second-half-container,#injected-footer .footer .second-inner-footer-container,#injected-footer .footer .third-inner-footer-container{width:100%!important;}
5705}
5706@media (max-width:980px){
5707#injected-footer .footer h5{margin-top:25px;}
5708}
5709/*! CSS Used fontfaces */
5710@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUQjIg1_i6t8kCHKm459WxRxC7mw9c.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
5711@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUQjIg1_i6t8kCHKm459WxRzS7mw9c.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
5712@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUQjIg1_i6t8kCHKm459WxRxi7mw9c.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
5713@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUQjIg1_i6t8kCHKm459WxRxy7mw9c.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
5714@font-face{font-family:'Montserrat';font-style:italic;font-weight:100 900;font-display:swap;
5714src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUQjIg1_i6t8kCHKm459WxRyS7m.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
5715@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
5716@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
5717@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
5718@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
5719@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url(https://fonts.gstatic.com/s/montserrat/v29/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
5720
5721.uf-back-to-top.uf-button {
5722    z-index: 1;
5723    position: fixed;
5724    bottom: 25px;
5725    left: 25px;
5726    border-radius: 100%;
5727    border-width: 0;
5728    opacity: 1;
5729    transition: all .5s ease;
5730    transition-property: top, opacity;
5731    background-color: #fff;
5732    padding: 0;
5733    width: 40px;
5734    height: 40px;
5735}
5736
5737.uf-button {
5738    cursor: pointer;
5739    justify-content: center;
5740    padding: 8px 20px;
5741    text-align: center;
5742    align-items: center;
5743    border-radius: 4px;
5744    box-shadow: none;
5745    font-size: 18px;
5746    height: auto;
5747    min-height: 40px;
5748    line-height: 1.5;
5749    position: relative;
5750    vertical-align: top;
5751    border: 1px solid #d9d9d9;
5752}
5753
5754.uf-back-to-top.uf-button.uf-invisible {
5755    opacity: 0;
5756}
5757</style>
vendor: 110 bytes, lines 5757-5759
5757
5758
5759<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
5759<script>
5760  document.addEventListener('DOMContentLoaded', () => {
5761    const backToTop = document.getElementById('uf-back-to-top');
5762
5763    if(backToTop){
5764      backToTop.addEventListener('click', () => {
5765        window.scrollTo({
5766          top: 0,
5767          behavior: 'smooth'
5768        });
5769      })
5770    }
5771
5772    window.addEventListener('scroll', () => {
5773      if(window.scrollY === 0){
5774        backToTop.classList.add('uf-invisible');
5775      }else{
5776        backToTop.classList.remove('uf-invisible');
5777      }
5778    })
5779  });
5780</script>
5780
5781
5782</section>
5783
5784
5785
5786<section data-pf-theme-artefact-id="content-list-2"
5787      data-pf-theme-artefact-file-id="142203a3-e1c6-4fcb-97cf-b1db295ec6da"
5788      data-pf-theme-artefact-filename="content-list-2"
5789      data-pf-theme-block-id="E0h5vLGHTK"
5790      data-pf-theme-block-type="section"
5791      data-pf-theme-block-pos="3"
5792      data-pf-theme-block-ref="content-list" 
5793  id=""
5794  class="section-display relative section-E0h5vLGHTK   
5795    flex-col
5796    hidden
5797    
5798      bg-[#FFFFFF]
5799    "
5800  
5801>
5802  <div id="content-list-2-E0h5vLGHTK"></div>
5803  <div class='filters-container bg-white py-1 pb-2 md:pb-1'>
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814<div class="px-[10px] flex-wrap">
5815  <div class="mb-[10px] flex flex-wrap gap-x-3 md:justify-between">
5816    <div class="flex flex-grow justify-between gap-1">
5817      
5818      
5819  </div>
5820  <div class="pf-resource-center-filters rc-mobile-filters-container md:hidden" aria-hidden="true">
5821          
5822          
5823
5824
5825
5826
5827<style>
5828  #rc-mobile-filter-E0h5vLGHTK-title #bottom-bar-button:focus-visible {
5829    outline: 2px solid #ffffff;
5830    outline-offset: 2px;
5831    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.5);
5832  }
5833</style>
5834
5835<div role="region" aria-label="Mobile content navigation" id="rc-mobile-filter-E0h5vLGHTK" class="z-[1000] fixed bottom-[calc(0px-70%)] left-0 h-[70%] w-full transition-[bottom] ease-in-out duration-300 md:hidden bg-white" x-data="{
5836    isFilterExpanded: false,
5837    checkStyle() {
5838      this.isFilterExpanded = $el.style.bottom === '0px';
5839      const button = $el.querySelector('#bottom-bar-button');
5840      if (button) {
5841        const panelLabel = button.querySelector('.pf-bottom-bar-label')?.textContent?.trim() || '';
5842        button.setAttribute('aria-expanded', this.isFilterExpanded ? 'true' : 'false');
5843        button.setAttribute('aria-label', this.isFilterExpanded ? 'Collapse ' + panelLabel : 'Expand ' + panelLabel);
5844      }
5845    }
5846  }"
5847  x-init="checkStyle()"
5848  @sync-a11y="checkStyle()"
5849  @keyup.escape="$el.style.bottom = ''; checkStyle()"
5850  @transitionend="checkStyle()">
5851  <div
5852    id="rc-mobile-filter-E0h5vLGHTK-title"
5853    class="w-full px-5 flex justify-between items-center h-[50px]
5854      
5855        text-[#ffffff]
5856      
5857      
5858        bg-[#ff9933]
5859      "
5860  >
5861    <button
5862      type="button"
5863      id="bottom-bar-button"
5864      aria-expanded="false"
5865      aria-controls="rc-mobile-filter-E0h5vLGHTK-content"
5866      aria-label="Expand Filters"
5867      class="flex items-center space-x-2 w-full justify-between"
5868    >
5869      <span class="pf-bottom-bar-label">Filters&nbsp;</span>
5870      <i class="fa fa-close" aria-hidden="true"></i>
5871    </button>
5872    
5873  </div>
5874  <div id="rc-mobile-filter-E0h5vLGHTK-content" class="w-full flex justify-center h-full">
5875    
5876            <div class="flex flex-col w-full overflow-scroll max-h-[calc(100%-50px)]">
5877              
5878            </div>
5879          
5880  </div>
5881</div>
5882<script>
5883  document.querySelector("#rc-mobile-filter-E0h5vLGHTK-title button").onclick = (e) => {
5884    const bottombar = document.querySelector("#rc-mobile-filter-E0h5vLGHTK");
5885    const bottomBarButton = e?.currentTarget;
5886    const bottombarTitleIcon = bottomBarButton?.querySelector("i") || document.querySelector("#rc-mobile-filter-E0h5vLGHTK-title > i");
5887    const panelLabel = bottomBarButton?.querySelector(".pf-bottom-bar-label")?.textContent?.trim() || "";
5888    if (bottombar.style.bottom == "0px") {
5889      bottombar.style.bottom = ""
5890      bottombar.classList.add("bottom-calc(0px-70%)");
5891      bottombarTitleIcon?.setAttribute("class", "fa fa-close");
5892    } else {
5893      bottombar.classList.remove("bottom-calc(0px-70%)");
5894      bottombar.style.bottom = "0px";
5895      bottombarTitleIcon?.setAttribute("class", "fa fa-close");
5896    }
5897    const isExpanded = bottombar.style.bottom === "0px";
5898    bottomBarButton.setAttribute("aria-expanded", isExpanded ? "true" : "false");
5899    bottomBarButton.setAttribute("aria-label", isExpanded ? "Collapse " + panelLabel : "Expand " + panelLabel);
5900    bottombar.dispatchEvent(new Event('sync-a11y'));
5901    
5902  }
5903  document.addEventListener("keydown", (e) => {
5904    const bottombar = document.querySelector("#rc-mobile-filter-E0h5vLGHTK");
5905    const closeButton = document.querySelector('#rc-mobile-filter-E0h5vLGHTK .fa-close');
5906    const bottomBarButton = document.querySelector("#rc-mobile-filter-E0h5vLGHTK-title button");
5907    const panelLabel = bottomBarButton?.querySelector(".pf-bottom-bar-label")?.textContent?.trim() || "";
5908    if (e.key === "Escape") {
5909      bottombar.style.bottom = ""
5910      bottomBarButton?.setAttribute("aria-expanded", "false");
5911      bottomBarButton?.setAttribute("aria-label", "Expand " + panelLabel);
5912      bottombar.dispatchEvent(new Event('sync-a11y'));
5913      closeButton?.setAttribute('tabindex', '-1');
5914    } else if (e.key === "Tab" && bottombar.style.bottom === "0px") {
5915      trapElementFocus(bottombar, e);
5916    }
5917  });
5918</script>
5918
5919        </div>
5920    
5921  </div>
5922  
5923</div>
5924
5925<script>
5926  (() => {
5927    const searchBoxElement = document.querySelector(".section-E0h5vLGHTK .search-E0h5vLGHTK");
5928    const filterButton = document.querySelector(".section-E0h5vLGHTK .rc-mobile-filter-selector");
5929    const bottomBar = document.querySelector("#rc-mobile-filter-E0h5vLGHTK");
5930    const closeButton = document.querySelector('#rc-mobile-filter-E0h5vLGHTK .fa-close');
5931
5932    // disable initial tabbing for close button in bottom bar
5933    closeButton?.setAttribute("tabindex", "-1");
5934
5935    
5936      // handle search input
5937      searchBoxElement?.addEventListener("input", pfDebounce((event) => {
5938        pfGetContents({sectionNodeId: "E0h5vLGHTK", updateParams: {search: event.target.value, page: 1}});
5939      }), 1000);
5940    
5941
5942    // handle filter button click
5943    filterButton?.addEventListener("click", () => {
5944      filterButton.setAttribute("aria-expanded", "true");
5945      closeButton.setAttribute("tabindex", "0");
5946      document.querySelector('#rc-mobile-filter-E0h5vLGHTK-title button').onclick();
5947      bottomBar?.parentNode?.setAttribute("aria-hidden", "false");
5948    });
5949
5950    // handle close button click that collapses bottom bar
5951    closeButton?.addEventListener("click", () => {
5952      filterButton.setAttribute("aria-expanded", "false");
5953      closeButton.setAttribute("tabindex", "-1");
5954      filterButton?.focus();
5955      bottomBar?.parentNode?.setAttribute("aria-hidden", "true");
5956    });
5957  })();
5958
5959</script>
5959
5960
5961</div>
5962  <div class="section-base w-full relative  
5963      section-padding
5964     block">
5965  
5966    <div class="cards-container pf-full-width-rte text-center flex flex-wrap w-full pb-[20px]">
5967      <div class="pf-rte-wrapper">
5968<p style="text-align: center;"><span class="pf_font_preset_0" style="font-size: 36pt;">Heading</span></p>
5969</div>
5970    </div>
5971  
5972  
5973    <div class="cards-container pf-full-width-rte text-center flex flex-wrap w-full pb-[20px]">
5974      <div class="pf-rte-wrapper">
5975<p style="text-align: center;"><span class="pf_font_preset_4" style="font-size: 20pt;">Sub-heading</span></p>
5976</div>
5977    </div>
5978  
5979  
5980  <div class="cards-container flex flex-col">
5981    <div class="flex flex-col w-full items-center">
5982      
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994<div
5995  data-uuid=""
5996  style="display: none;"
5997  class="card-particular pf-content-card relative px-[10px] mb-8 w-full sm:w-1/2 lg:w-1/3 template"
5998>
5999  <a
6000    class="pf-content-card-link card-link block group mb-[10px]"
6001    href=""
6002    
6003    
6004  >
6005    <div class="card-content-container relative overflow-hidden  border-solid border-0 border-[#FFFFFF] border-b-0">
6006      <img
6007        class="pf-content-card-thumbnail object-cover w-full aspect-[16/9] transition ease-in-out duration-300 group-hover:scale-105"
6008        src=""
6009        alt=""
6010      >
6011      <div class="card-content relative top-[calc(100%-70px)]  h-[100%] w-full z-1 px-[10px] bg-[#fff]">
6012        <div class="card-title pf_font_preset_4 text-[#000] h-[70px] flex items-center w-full">
6013          <span class="pf-content-card-title line-clamp-4"></span>
6014        </div>
6015        
6016          <div
6017            class="card-desc pf_font_preset_7 text-[#000000] pb-[10px]"
6018            style="display: none;"
6019          >
6020            <span class="pf-content-card-description line-clamp-4">
6021              
6022            </span>
6023          </div>
6024        
6025      </div>
6026    </div>
6027    
6028      <div class="card-cta pf_font_preset_7 text-[#ffffff] p-[10px] border-solid border-0 border-[#FFFFFF] border-t-0 bg-[#ff9933]">
6029      <span class="pf-content-card-cta">
6030        See more...
6031        </span>
6032        <i aria-hidden="true" class="pf-content-card-cta ml-2 fa-solid fa-angle-right cta-icon" style="color:#ffffff"></i>
6033      </div>
6034    
6035    <div class="mb-[10px]"></div>
6036    
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055<div
6056  class="pf-content-tag-on-card-wrapper flex flex-col absolute top-[20px] left-0 gap-[8px]"
6057  
6058>
6059  
6060    <span class="
6061  pf-content-tag-on-card 
6062  bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
6063 w-fit
6064" data-enabled-tags=""></span>
6065  
6066  <span
6067    class="
6068  pf-pinned-content-tag bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
6069"
6070    
6071      style="display: none;"
6072    
6073  >
6074    Featured&nbsp;<i class="fa fa-star" aria-hidden="true"></i>
6075  </span>
6076  
6077    
6078    
6079  
6080</div>
6081<div
6082  onclick="event.preventDefault()"
6083  class="pf-content-tag-below-card-wrapper cursor-default flex flex-wrap gap-[8px]"
6084  
6085>
6086  <span class="
6087  pf-content-tag-below-card 
6088  bg-[#ff9933] text-[#ffffff] pf_font_preset_7 rounded-[5px] max-w-full break-words px-[10px] py-[5px]
6089
6090" data-enabled-tags=""></span>
6091  
6092</div>
6093  </a>
6094</div>
6095
6096      <div class="pf-resource-center-cards-wrapper cards-wrapper grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-1  w-full ">
6097        
6098        
6099      </div>
6100      <div class="pf-no-results text-xl text-center w-full p-15" style="display: none;">No results match the search/filter criteria</div>
6101      
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120  <div class="pf-lazy-load-container my-0 mt-14 mx-auto" >
6121    <button 
6122      class="pf-lazy-load-button bg-[#5454FF] hover:bg-[#5454FF] py-2 px-4 border-2 border-black rounded border-opacity-100"
6123    >
6124      Load more...
6125    </button>
6126  </div>
6127
6128
6129
6130
6131 
6132
6133<script >
6134  document.querySelector(".section-E0h5vLGHTK .pf-lazy-load-button")?.addEventListener("click", () => {
6135  const currentPage = window.pfResourceCenterParams?.["E0h5vLGHTK"]?.page || 1;
6136    pfGetContents({ sectionNodeId: "E0h5vLGHTK", isLoadMore: true, updateParams: {page: currentPage + 1}});
6137  }); 
6138  
6139  document.querySelector(".section-E0h5vLGHTK .pf-pagination-item-previous")?.addEventListener("click", (event) => {
6140    let nextPage = (window.pfResourceCenterParams?.["E0h5vLGHTK"]?.page || 1) - 1;
6141    if (nextPage < 1) {
6142      nextPage = 1;
6143    }
6144    pfGetContents({ sectionNodeId: "E0h5vLGHTK", updateParams: { page: nextPage } });
6145  });
6146  
6147  document.querySelector(".section-E0h5vLGHTK .pf-pagination-item-next")?.addEventListener("click", (event) => {
6148    const totalContents = window.pfResourceCenterParams?.["E0h5vLGHTK"]?.totalContents;
6149    const contentsPerPage = 9;
6150    const totalPages = Math.ceil(totalContents / contentsPerPage);
6151    const contentsLoaded = document.querySelectorAll(".section-E0h5vLGHTK .pf-content-card:not(.template)").length;
6152    const allContentsLoaded = contentsLoaded === totalContents;
6153    let nextPage = (window.pfResourceCenterParams?.["E0h5vLGHTK"]?.page || 1) + 1;
6154    if (nextPage > totalPages) {
6155      nextPage = totalPages;
6156    }
6157    if (allContentsLoaded) {
6158      nextPage = (window.pfResourceCenterParams?.["E0h5vLGHTK"]?.page || 1);
6159    }
6160    pfGetContents({ sectionNodeId: "E0h5vLGHTK", updateParams: { page: nextPage } });
6161  });
6162  document.querySelectorAll(".section-E0h5vLGHTK .pf-pagination-item").forEach((link, index) => {
6163    link.addEventListener("click", (event) => {
6164      if (link.textContent === "...") {
6165        return;
6166      }
6167      const pageNumber = parseInt(link.textContent);
6168      pfGetContents({ sectionNodeId: "E0h5vLGHTK", updateParams: { page: pageNumber } });
6169    })
6170  });
6171
6172  document.addEventListener('pageMetadataUpdated', (event) => {
6173    if (event.detail !== "E0h5vLGHTK") return;
6174    const currentPage = window.pfResourceCenterParams?.["E0h5vLGHTK"]?.page || 1;
6175    const totalContents = window.pfResourceCenterParams?.["E0h5vLGHTK"]?.totalContents;
6176    const totalPages = Math.ceil(totalContents / 9);
6177    const pageNumbers = pfGeneratePageOptions({ page: currentPage, totalPages});
6178    const lazyLoadButton  = document.querySelector(".section-E0h5vLGHTK .pf-lazy-load-button");
6179    const contentsLoaded = document.querySelectorAll(".section-E0h5vLGHTK .pf-content-card:not(.template)").length;
6180    const allContentsLoaded = contentsLoaded === totalContents;
6181    if (lazyLoadButton && (totalPages === currentPage || totalContents === 0 || allContentsLoaded)) {
6182      lazyLoadButton.style.display = 'none';
6183    } else if (lazyLoadButton) {
6184      lazyLoadButton.style.display = "";
6185    } 
6186    const activePageClasses = "flex rounded-full items-center justify-center bg-[#ff9933] text-[#ffffff] w-7 h-7".split(' ');     
6187    document.querySelectorAll(".section-E0h5vLGHTK .pf-pagination-item").forEach((link, index) => {
6188      link.textContent = pageNumbers[index];
6189      if (pageNumbers[index] !== "...") link.setAttribute("aria-label", `Page ${pageNumbers[index]} of recommended assets`);
6190      link.style.display = "";
6191      if (pageNumbers[index] === currentPage) {
6192        link.classList.add(...activePageClasses);
6193        link.setAttribute("aria-current", "page")
6194      } else {
6195        link.classList.remove(...activePageClasses);
6196        link.removeAttribute("aria-current");
6197      }          
6198      if (index + 1 > pageNumbers.length || (allContentsLoaded && index > 0)) {
6199        link.style.display = 'none';
6200      }
6201    });     
6202  });
6203</script>
6203 
6204    </div>
6205  </div>
6206  </div>
6207  </section>
6208  
6208<script>
6209    pfGetFilters("E0h5vLGHTK");
6210  </script>
6210
6211
6212<style>
6213  .searchClose{
6214    background: #ff9933;
6215    padding: 0.65rem;
6216    height: 30px;
6217    border-radius: 150px;
6218  }
6219  .dropdown-list .pf-options [type='checkbox']:checked {
6220    background-color: #000;
6221  }
6222  .filters-container{
6223    box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
6224    padding: .75rem 0;
6225  }
6226
6227  .filters-container .dropdown-button:hover 
6228  {
6229    box-shadow: 0 0 5px rgba(0, 0, 0, .15);
6230  }
6231  
6232  .filters-container .pf-label {
6233     font-family: proxima-nova-bold !important;
6234     font-size: 16px !important;
6235     font-weight: 700 !important;
6236    }
6237
6238    .filters-container .pf-label:hover
6239    {
6240     color: rgba(255, 153, 51, 1) !important;
6241    }
6242
6243    .filters-container .pf-options
6244    {
6245     display:flex;
6246     align-items:center;
6247    }
6248    
6249  .cards-container {
6250    max-width: 275px;
6251    margin: 0 auto;
6252  }
6253  .cards-wrapper {
6254    grid-template-columns: repeat(auto-fill, minmax(275px, 0fr));
6255    grid-template-rows: repeat(auto-fill, minmax(363px, auto));
6256    gap: 20px;
6257  }
6258  .card-particular {
6259    width: 275px;
6260    height: 363px;
6261    padding: 0px;
6262    margin: 0;
6263  }
6264  .card-link {
6265    box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
6266    height: 100%;
6267    width: 100%;
6268  }
6269  .card-content-container{
6270    height: calc(100%-45px);
6271    width: 100%;
6272  }
6273  .card-content-container .pf-content-card-thumbnail {
6274    height: 140px;
6275    transform: none !important;
6276  }
6277  .card-content {
6278    height: 178px;
6279    padding: 10px 20px;
6280  }
6281  .card-desc {
6282    display: none;
6283    margin-top: 20px;
6284  }
6285  .card-title {
6286    height: auto;
6287    margin-top: 8px;
6288  }
6289  .card-cta {
6290    height: 45px;
6291    display: flex;
6292    align-items: center;
6293    padding-left: 20px;
6294  }
6295  .card-particular:hover .card-content-container .pf-content-card-thumbnail{
6296    display: none;
6297  }
6298  .card-particular:hover .card-cta {
6299    background: rgba(255, 153, 51, 0.8);
6300    text-decoration: underline;
6301  }
6302  .card-particular:hover .card-content {
6303    height: 318px;
6304  }
6305  .card-particular:hover .card-title {
6306    display: none;
6307  }
6308  .card-particular:hover .card-desc{
6309    display: block;
6310  }
6311
6312  .pf-lazy-load-button
6313  {
6314    letter-spacing: 2.99px !important;
6315    text-transform: uppercase !important;
6316    width: 250px;
6317    height: 40px;
6318    border: none;
6319    border-radius: 25px;
6320    display:flex;
6321    justify-content:center;
6322  }
6323
6324  @media (min-width: 700px) {
6325    .cards-container {
6326      max-width: 570px;
6327    }
6328  }
6329
6330  @media (min-width: 1279px) {
6331  .cards-container {
6332    max-width: 1160px;
6333  }
6334  .card-particular:first-child {
6335    grid-column: span 2;
6336    grid-row: span 2;
6337    width: 570px;
6338    height: 746px;
6339    max-width: 570px;
6340    padding: 0px;
6341  }
6342  .card-container .card-particular:first-child .card-img-content {
6343    width: 100%;
6344  }
6345  .card-particular:first-child .card-content-container .pf-content-card-thumbnail {
6346    height: 280px;
6347  }
6348  .card-particular:first-child .card-content {
6349    height: 421px;
6350  }
6351  .card-particular:first-child .card-title span {
6352    font-size: 50px;
6353  }
6354  .card-particular:first-child .card-desc {
6355    display: block;
6356  }
6357  .card-particular:first-child .card-desc span {
6358    font-size: 18px;
6359  }
6360
6361  .card-particular:first-child:hover .card-content {
6362    height: 701px;
6363  }
6364  .card-particular:first-child:hover .card-title{
6365    display: block;
6366  }
6367}
6368
6369 @media (max-width: 639px)
6370 {
6371  .searchClose
6372  {
6373    margin-top:6px;
6374  }
6375 }
6376</style>
6377
6378<script>
6379
6380 document.addEventListener('DOMContentLoaded', () => {
6381   const searchToggle = document.getElementById('searchToggle');
6382   const searchBox = document.querySelector('.searchBox');
6383   const searchClose = document.querySelector('.searchClose');
6384
6385   if(searchToggle){
6386     searchToggle.addEventListener('click', () => {
6387       if(searchBox){
6388         searchBox.classList.remove('hidden');
6389         searchToggle.classList.add('hidden');
6390       }
6391     });
6392   }
6393
6394   if(searchClose){
6395     searchClose.addEventListener('click', () => {
6396       if(searchBox){
6397         searchBox.classList.add('hidden');
6398         searchToggle.classList.remove('hidden');
6399       }
6400     });
6401   }
6402 });
6403
6404</script>
6404
6405
6406
6407
6408    
6409
6410
6411
6412
6413
6414
6415<script>
6416  const pfExperienceFormStrategy = `` ? JSON.parse(``) : null;
6417  const pfContentFormStrategy = `` ? JSON.parse(``) : null;
6418  const pfExperienceFormPresent = false;
6419  const pfContentFormPresent = false;
6420  const pfExperienceFormModalSelector = ".modal-pf-experience-form-strategy";
6421  const pfContentFormModalSelector = ".modal-pf-content-form-strategy";
6422  const pfVisitorKnown = () => {
6423    const params = new URLSearchParams(window.location.search);
6424    const pfses = params.get('_pfses');
6425    const knownViaLbEmail = window.pfConsentStatus && pfConsentStatus() && pfses;
6426    return false || knownViaLbEmail;
6427  };
6428  const pfIsLandingPage = true;
6429
6430  const pfExperienceFormModal = pfExperienceFormPresent && document.querySelector(pfExperienceFormModalSelector);
6431  const pfContentFormModal = pfContentFormPresent && document.querySelector(pfContentFormModalSelector);
6432
6433  if (pfExperienceFormPresent || pfContentFormPresent) {
6434    setInterval(() => {
6435      document.dispatchEvent(new CustomEvent("pf_page_ping", {
6436        detail: {
6437          interval: 5
6438        },
6439      }));
6440    }, 5000);
6441  }
6442
6443  const pfFormConditionsMet = ({ formModal, config, toggleModal = false, pdfButtonClick = false }) => {
6444    if (!config) { return false; }
6445    if (window.pdfFormModalOpen) { return false; }
6446
6447    const currentSession = JSON.parse(localStorage.getItem("pfCurrentSession") || "{}");
6448    const knownVisitorCondition = config.show_to_known_visitors && pfVisitorKnown();
6449    const unknownVisitorCondition = config.show_to_unknown_visitors && !pfVisitorKnown();
6450    const formSubmittedAlready = JSON.parse(localStorage.getItem("pfSubmittedForms") || "[]").filter((sf) => {
6451      return (
6452        sf.experienceId == "192386" &&
6453          sf.formId == config.form_id
6454      );
6455    }).length > 0;
6456    const submittedShowAgainCondition = config.submitted_show_again || !formSubmittedAlready;
6457    const formNotDismissed = JSON.parse(localStorage.getItem("pfDismissedForms") || "[]").filter((df) => {
6458      return (
6459        df.experienceId == "192386" &&
6460          df.formId == config.form_id
6461      );
6462    }).length == 0;
6463    const visibleModal = Array.from(document.querySelectorAll(".pf-modal")).filter((m) => m.style.display !== "none").length > 0;
6464
6465    const show = pdfButtonClick || (knownVisitorCondition || unknownVisitorCondition) && submittedShowAgainCondition && formNotDismissed && !visibleModal;
6466
6467    if (toggleModal && formModal) {
6468      formModal.style.display = show ? "block" : "none";
6469      formModal.style.opacity = 0;
6470      setTimeout(() => formModal.style.opacity = show ? 1 : 0, 500);
6471      if (show) {
6472        if (!pdfButtonClick) {
6473          window.pfFormsShown = [...new Set((window.pfFormsShown || []).concat([config.form_id]))];
6474        }
6475        (window.pfVideoPlayers || []).forEach((player) => {
6476          player.pause();
6477        });
6478        window.showForm({
6479          formType: pfContentFormPresent ?  "" : "",
6480          formData: { value: pfContentFormPresent ?  "content_form_strategy" : "experience_form_strategy" }
6481        });
6482      }
6483    }
6484
6485    return show;
6486  };
6487
6488  const pdfButtonHandler = (e) => {
6489    e.preventDefault();
6490    pfFormConditionsMet({
6491      formModal: pfContentFormModal,
6492      config: pfContentFormStrategy,
6493      toggleModal: true,
6494      pdfButtonClick: true,
6495    });
6496    setTimeout(() => window.pdfFormModalOpen = e?.target?.id, 0);
6497  }
6498
6499  const getPdfElements = () => {
6500    const pfPrint = document.getElementById("print_pf");
6501    const pfDownload = document.getElementById("download_pf");
6502    const printBtn = document.getElementById("print");
6503    const downloadBtn = document.getElementById("download");
6504    if (!pfPrint || !pfDownload || !printBtn || !downloadBtn) {
6505      return false;
6506    }
6507    return {
6508      pfPrint,
6509      pfDownload,
6510      printBtn,
6511      downloadBtn
6512    }
6513  }
6514
6515  const switchPdfButtons = ({ showCustomButtons, config }) => {
6516    const pdfElements = getPdfElements();
6517    if (!pdfElements) {
6518      return;
6519    }
6520    
6521    const { pfPrint, pfDownload, printBtn, downloadBtn } = pdfElements;
6522    if (showCustomButtons) {
6523      const { show_on_print, show_on_download } = config;
6524      if (show_on_print) {
6525        pfPrint.style.display = "inline-block";
6526        printBtn.style.display = "none";
6527        pfPrint.addEventListener("click", pdfButtonHandler);
6528        window.originalPrint = window.print;
6529        window.print = () => {};
6530      }
6531
6532      if (show_on_download) {
6533        pfDownload.style.display = "inline-block";
6534        downloadBtn.style.display = "none";
6535        pfDownload.addEventListener("click", pdfButtonHandler);
6536      }
6537    } else {
6538      pfPrint.style.display = "none";
6539      pfDownload.style.display = "none";
6540      printBtn.style.display = "inline-block";
6541      downloadBtn.style.display = "inline-block";
6542      [pfPrint, pfDownload].forEach(button => {
6543        button.removeEventListener('click', pdfButtonHandler);
6544      });
6545    }
6546  }
6547  const pfPdfFormConditionsMet = ({ config }) => {
6548    if (!config) { return false; }
6549
6550    const { show_on_print, show_on_download } = config;
6551    if (!show_on_print && !show_on_download) {
6552      return;
6553    }
6554
6555    const knownVisitorCondition = config.show_to_known_visitors && pfVisitorKnown();
6556    const unknownVisitorCondition = config.show_to_unknown_visitors && !pfVisitorKnown();
6557    const formSubmittedAlready = JSON.parse(localStorage.getItem("pfSubmittedForms") || "[]").filter((sf) => {
6558      return (
6559        sf.experienceId == "192386" &&
6560          sf.formId == config.form_id
6561      );
6562    }).length > 0;
6563    const submittedShowAgainCondition = config.submitted_show_again || !formSubmittedAlready;
6564    const showForm = (knownVisitorCondition || unknownVisitorCondition) && submittedShowAgainCondition;
6565    switchPdfButtons({ showCustomButtons: showForm, config });
6566  };
6567
6568  const isBypassEngagementEnabled = (config) => {
6569    if (!config) return false;
6570    const {
6571      enable_bypass_engagement,
6572      show_on_download,
6573      show_on_print,
6574    } = config;
6575    if (!getPdfElements()) {
6576      return false;
6577    }
6578    return enable_bypass_engagement && (show_on_download || show_on_print);
6579  };
6580
6581  const resumePdfActions = (modal) => {
6582    return new Promise((resolve, reject) => {
6583      let counter = 0;
6584      const modalCloseInterval = setInterval(() => {
6585        try {
6586          if (modal.style.display === "none" || counter > 10) {
6587            clearInterval(modalCloseInterval);
6588            if (window.pdfFormModalOpen) {
6589              if (window.pdfFormModalOpen === "print_pf") {
6590                if (window.originalPrint) {
6591                  window.print = window.originalPrint;
6592                }
6593                window.PDFViewerApplication?.triggerPrinting();
6594              } else if (window.pdfFormModalOpen === "download_pf") {
6595                window.PDFViewerApplication?.downloadOrSave();
6596              }
6597            }
6598            window.pdfFormModalOpen = false;
6599            pfPdfFormConditionsMet({ config: pfContentFormStrategy });
6600            resolve();
6601          } else {
6602            counter++;
6603          }
6604        } catch (error) {
6605          clearInterval(modalCloseInterval);
6606          reject(error);
6607        }
6608      }, 500);
6609    });
6610  };
6611
6612  const pfContentFormStrategyEligible = pfContentFormPresent && pfFormConditionsMet({ config: pfContentFormStrategy });
6613  const pfExperienceFormStrategyEligible = pfExperienceFormPresent && pfFormConditionsMet({ config: pfExperienceFormStrategy });
6614  const pfActiveFormStrategy = (pfContentFormStrategyEligible && "contentStrategy") || (pfExperienceFormStrategyEligible && "experienceStrategy");
6615  const promotersClickable = (pfActiveFormStrategy === "experienceStrategy" && pfExperienceFormStrategy.promoters_clickable) ||
6616    (pfActiveFormStrategy === "contentStrategy" && pfContentFormStrategy.promoters_clickable);
6617
6618  pfContentFormPresent && pfPdfFormConditionsMet({ config: pfContentFormStrategy });
6619
6620  const pfForceExperienceFormStrategy = pfExperienceFormPresent &&
6621                                        isBypassEngagementEnabled(pfContentFormStrategy) &&
6622                                        pfFormConditionsMet({ config: pfExperienceFormStrategy });
6623
6624  const pfUpdateEngagementTimes = (pagePing) => {
6625    const engagementTimes = JSON.parse(localStorage.getItem("pfExperienceEngagement") || "[]");
6626    const engagementTimeIndex = engagementTimes.findIndex((et) => {
6627      return et.experienceId == "192386"
6628    });
6629    let contentEngagementIndex = -1;
6630    const contentEngagements = engagementTimes[engagementTimeIndex]?.contentEngagements || [];
6631    const contentEngagement = contentEngagements.find((ce, i) => {
6632      if (ce.contentId == "886663") {
6633        contentEngagementIndex = i;
6634        return true;
6635      }
6636    }) || {};
6637    const newContentEngagement = {
6638      ...contentEngagement,
6639      contentId: "886663",
6640      duration: (contentEngagement.duration || 0) + pagePing.interval
6641    };
6642    const updatedEngagementTime = {
6643      experienceId: "192386",
6644      duration: (engagementTimeIndex > -1 ? engagementTimes[engagementTimeIndex].duration : 0) + pagePing.interval,
6645      contents:
6646        engagementTimeIndex > -1
6647          ? [...new Set(engagementTimes[engagementTimeIndex].contents.concat(["886663"]))]
6648          : ["886663"],
6649      contentEngagements:
6650        contentEngagementIndex > -1
6651          ? contentEngagements.map((ce) => ce.contentId == "886663" ? newContentEngagement : ce)
6652          : [...contentEngagements, newContentEngagement]
6653    };
6654
6655    if (engagementTimeIndex > -1) {
6656      engagementTimes[engagementTimeIndex] = updatedEngagementTime;
6657    } else {
6658      engagementTimes.push(updatedEngagementTime);
6659    }
6660    localStorage.setItem("pfExperienceEngagement", JSON.stringify(engagementTimes));
6661    localStorage.setItem("pfCurrentSession", JSON.stringify(updatedEngagementTime));
6662
6663    if (pfActiveFormStrategy === "experienceStrategy" || pfForceExperienceFormStrategy) {
6664      const assetsViewedCondition = updatedEngagementTime.contents.length >= pfExperienceFormStrategy.assets_viewed
6665        && updatedEngagementTime.duration >= pfExperienceFormStrategy.assets_viewed_time;
6666      const timeOnExperienceCondition = updatedEngagementTime.duration >= pfExperienceFormStrategy.time_on_experience;
6667      const formNotYetShown = (window.pfFormsShown || []).indexOf(pfExperienceFormStrategy.form_id) == -1;
6668
6669      if (
6670        (pfExperienceFormStrategy.form_trigger_type !== "assetsViewed" || assetsViewedCondition) &&
6671        (pfExperienceFormStrategy.form_trigger_type !== "timeOnExperience" || timeOnExperienceCondition) &&
6672        formNotYetShown
6673      ) {
6674        pfFormConditionsMet({
6675          config: pfExperienceFormStrategy,
6676          formModal: pfExperienceFormModal,
6677          toggleModal: true
6678        });
6679      }
6680    }
6681
6682    if (pfActiveFormStrategy === "contentStrategy") {
6683      const timeOnContentCondition = (newContentEngagement.duration >= pfContentFormStrategy.show_after_time) && !isBypassEngagementEnabled(pfContentFormStrategy);
6684      const formNotYetShown = (window.pfFormsShown || []).indexOf(pfContentFormStrategy.form_id) == -1;
6685      if (timeOnContentCondition && formNotYetShown) {
6686        pfFormConditionsMet({
6687          formModal: pfContentFormModal,
6688          config: pfContentFormStrategy,
6689          toggleModal: true
6690        })
6691      }
6692    }
6693  };
6694
6695  if (promotersClickable) {
6696    const pfPromoter = document.querySelector("#sidebar");
6697    if (pfPromoter) {
6698      pfPromoter.style["z-index"] = 1000000;
6699    }
6700  }
6701
6702  
6703  document.addEventListener("pf_page_ping", (e) => {
6704    if (pfIsLandingPage && pfExperienceFormStrategy?.exclude_landing_page) {
6705      return;
6706    }
6707
6708    if (pfIsLandingPage && document.querySelector(".lookbook-overlay-content")) {
6709      return;
6710    }
6711
6712    const pagePingEvent = e.detail;
6713    pfUpdateEngagementTimes(pagePingEvent);
6714  });
6715
6716  
6717  window.addEventListener("message", (event) => {
6718    if (!(event.data?.lookbookExternalForm || event.data?.pfStandardForm)) {
6719      return;
6720    }
6721
6722    const visibleModal = Array.from(document.querySelectorAll("#pf-modal")).filter((m) => m.style.display !== "none")[0];
6723    const visibleForm = visibleModal?.querySelector("[data-pf-theme-block-ref='form']");
6724    const formId = visibleForm?.getAttribute("data-pf-theme-form-library-id");
6725
6726    if (formId) {
6727      const submittedForms = JSON.parse(localStorage.getItem("pfSubmittedForms") || "[]");
6728      const submittedForm = {
6729        experienceId: "192386",
6730        formId
6731      };
6732      const submittedFormNotLogged = submittedForms.findIndex((x) =>
6733        x.experienceId == submittedForm.experienceId &&
6734          x.formId == submittedForm.formId
6735      ) === -1;
6736      if (submittedFormNotLogged) {
6737        submittedForms.push(submittedForm);
6738        localStorage.setItem("pfSubmittedForms", JSON.stringify(submittedForms));
6739      }
6740      resumePdfActions(visibleModal).then(() => {
6741        window.resetForm(visibleModal);
6742      })
6743    }
6744  });
6745
6746  
6747  window.addEventListener("DOMContentLoaded", () => {
6748    if (pfIsLandingPage && pfExperienceFormStrategy?.exclude_landing_page) {
6749      return;
6750    }
6751
6752    const currentSession = JSON.parse(localStorage.getItem("pfCurrentSession") || "{}");
6753    if (
6754      currentSession.experienceId == "192386" ||
6755      (pfExperienceFormStrategy && pfExperienceFormStrategy.time_on_experience === 0) ||
6756      (pfContentFormStrategy && pfContentFormStrategy.show_after_time === 0)
6757    ) {
6758      pfUpdateEngagementTimes({ interval: 0 });
6759    }
6760  });
6761</script>
6761
6762
6763
6764
6765
6766
6767    
6768    
6769    
6770    
6771    
6772  </body>
6773</html>
6774
6775
6776<script>
6777  /*
6778    This script removes the promoters if content is loaded inside iframe but also checks it is not overlay and preview.
6779    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.
6780  */
6781  const parentWindow = window.parent;
6782  const insideContentPageIframe = parentWindow && parentWindow.document.querySelector("iframe.pf-content-page-iframe") && window.self !== window.top;
6783  if(insideContentPageIframe) {
6784    // hide promiters
6785    const contentDiv = document.querySelector('.pf-content-wrapper');
6786    if(contentDiv) {
6787      const htmlElement = document.querySelector('html');
6788      htmlElement.style.height = "100%";
6789      document.body.style.height = "100%";
6790      document.body.innerHTML = contentDiv.innerHTML;
6791    }
6792    const iframeHideDivs = document.querySelector(".iframe-hide");
6793    iframeHideDivs && iframeHideDivs.remove();
6794  }
6795</script>
vendor: 1 bytes, line 6795
6795

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.