PageSourceSearch

https://www.vai.org/news/publications/

html vai.org collected 2026-10-02 03:35:28 UTC 145,216 bytes, 2,692 lines download raw bytes

1<!doctype html>
2<html lang="en">
3	<head>
4		<meta charset="UTF-8"/>
5		<meta name="viewport" content="width=device-width, initial-scale=1">
6		<link rel="pingback" href="https://www.vai.org/xmlrpc.php"/>
7		<style>
8			[x-cloak] {
9				display: none !important;
10			}
11		</style>
12		<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
13
14<!-- Google Tag Manager for WordPress by gtm4wp.com -->
15<script data-cfasync="false" data-pagespeed-no-defer>
16	var gtm4wp_datalayer_name = "dataLayer";
17	var dataLayer = dataLayer || [];
18	(function(){function gtag(){dataLayer.push(arguments);}gtag('set', 'developer_id.dNGJiYT', true);})();
19</script>
19
20<!-- End Google Tag Manager for WordPress by gtm4wp.com -->
21	<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https://yoast.com/product/yoast-seo-premium-wordpress/ -->
22	<title>Publications &#8211; Van Andel Institute</title>
23	<meta name="description" content="Check out Van Andel Institutes most recent annual reports, seasonal highlights and more!" />
24	<link rel="canonical" href="https://www.vai.org/news/publications/" />
25	<meta property="og:locale" content="en_US" />
26	<meta property="og:type" content="article" />
27	<meta property="og:title" content="Publications" />
28	<meta property="og:description" content="Learn more about at Van Andel Institute. Explore our in-depth resources and latest articles." />
29	<meta property="og:url" content="https://www.vai.org/news/publications/" />
30	<meta property="og:site_name" content="Van Andel Institute" />
31	<meta property="article:publisher" content="https://www.facebook.com/VanAndelInstitute/" />
32	<meta property="article:modified_time" content="2026-09-30T17:50:43+00:00" />
33	<meta property="og:image" content="https://www.vai.org/wp-content/uploads/2023/05/Van-Andel-Institute.png" />
34	<meta property="og:image:width" content="1200" />
35	<meta property="og:image:height" content="675" />
36	<meta property="og:image:type" content="image/png" />
37	<meta name="twitter:card" content="summary_large_image" />
38	<meta name="twitter:site" content="@VAInstitute" />
39	<meta name="twitter:label1" content="Est. reading time" />
40	<meta name="twitter:data1" content="2 minutes" />
41	
41<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vai.org\/news\/publications\/","url":"https:\/\/www.vai.org\/news\/publications\/","name":"Publications &#8211; Van Andel Institute","isPartOf":{"@id":"https:\/\/www.vai.org\/#website"},"datePublished":"2022-09-29T13:12:25+00:00","dateModified":"2026-09-30T17:50:43+00:00","description":"Check out Van Andel Institutes most recent annual reports, seasonal highlights and more!","breadcrumb":{"@id":"https:\/\/www.vai.org\/news\/publications\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vai.org\/news\/publications\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vai.org\/news\/publications\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"News","item":"https:\/\/www.vai.org\/news\/"},{"@type":"ListItem","position":2,"name":"Publications"}]},{"@type":"WebSite","@id":"https:\/\/www.vai.org\/#website","url":"https:\/\/www.vai.org\/","name":"Van Andel Institute","description":"Van Andel Institute transforms human health through groundbreaking biomedical research and cutting-edge science education.","publisher":{"@id":"https:\/\/www.vai.org\/#organization"},"alternateName":"VAI","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vai.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vai.org\/#organization","name":"Van Andel Institute","alternateName":"VAI","url":"https:\/\/www.vai.org\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vai.org\/#\/schema\/logo\/image\/","url":"https:\/\/www.vai.org\/wp-content\/uploads\/2022\/11\/VAI-logo-2line-19_2C_.jpg","contentUrl":"https:\/\/www.vai.org\/wp-content\/uploads\/2022\/11\/VAI-logo-2line-19_2C_.jpg","width":901,"height":291,"caption":"Van Andel Institute"},"image":{"@id":"https:\/\/www.vai.org\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/VanAndelInstitute\/","https:\/\/x.com\/VAInstitute","https:\/\/www.linkedin.com\/company\/van-andel-institute"],"description":"Van Andel Institute is an independent research facility devoted to improving human health through biomedical research and science education.","email":"[email protected]","telephone":"616.234.5000","legalName":"Van Andel Research Institute","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"501","maxValue":"1000"}}]}</script>
41
42	<!-- / Yoast SEO Premium plugin. -->
43
44
45<link href='https://fonts.gstatic.com' crossorigin rel='preconnect' />
46<link rel="alternate" type="application/rss+xml" title="Van Andel Institute &raquo; Feed" href="https://www.vai.org/feed/" />
47<link rel="alternate" type="application/rss+xml" title="Van Andel Institute &raquo; Comments Feed" href="https://www.vai.org/comments/feed/" />
48<link rel="alternate" type="text/calendar" title="Van Andel Institute &raquo; iCal Feed" href="https://www.vai.org/events/?ical=1" />
49<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.vai.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.vai.org%2Fnews%2Fpublications%2F" />
50<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.vai.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.vai.org%2Fnews%2Fpublications%2F&#038;format=xml" />
51<style id="wp-img-auto-sizes-contain-inline-css">
52img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
53/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
54</style>
55<link rel='stylesheet' id='tribe-events-pro-mini-calendar-block-styles-css' href='https://www.vai.org/wp-content/plugins/events-calendar-pro/build/css/tribe-events-pro-mini-calendar-block.css?ver=7.8.3' media='all' />
56<link rel='stylesheet' id='sb-elementor-shared-style-css' href='https://www.vai.org/wp-content/plugins/youtube-feed-pro/vendor/smashballoon/framework/Packages/Blocks/css/sb-elementor.css?ver=1.0.0' media='all' />
57<link rel='stylesheet' id='tec-variables-skeleton-css' href='https://www.vai.org/wp-content/plugins/the-events-calendar/common/build/css/variables-skeleton.css?ver=6.12.4.1' media='all' />
58<link rel='stylesheet' id='tec-variables-full-css' href='https://www.vai.org/wp-content/plugins/the-events-calendar/common/build/css/variables-full.css?ver=6.12.4.1' media='all' />
59<link rel='stylesheet' id='tribe-events-v2-virtual-single-block-css' href='https://www.vai.org/wp-content/plugins/events-calendar-pro/build/css/events-virtual-single-block.css?ver=7.8.3' media='all' />
60<style id="wp-emoji-styles-inline-css">
61
62	img.wp-smiley, img.emoji {
63		display: inline !important;
64		border: none !important;
65		box-shadow: none !important;
66		height: 1em !important;
67		width: 1em !important;
68		margin: 0 0.07em !important;
69		vertical-align: -0.1em !important;
70		background: none !important;
71		padding: 0 !important;
72	}
73/*# sourceURL=wp-emoji-styles-inline-css */
74</style>
75<style id="classic-theme-styles-inline-css">
76/*! This file is auto-generated */
77.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
78/*# sourceURL=/wp-includes/css/classic-themes.min.css */
79</style>
80<style id="safe-svg-svg-icon-style-inline-css">
81.wp-block-safe-svg-svg-icon a{align-self:center}.safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{fill:currentColor;height:100%;max-height:100%;max-width:100%;width:100%}
82
83/*# sourceURL=https://www.vai.org/wp-content/plugins/safe-svg/dist/safe-svg-block-frontend.css */
84</style>
85<link rel='stylesheet' id='cptui-extended-style-css' href='https://www.vai.org/wp-content/plugins/cptui-extended/inc/../build/style-index.css?ver=1756437668' media='all' />
86<style id="global-styles-inline-css">
87:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
870) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
87.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
88:root :where(.wp-block-icon svg){width: 24px;}
89:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
90:where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;}
91:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
92:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
93/*# sourceURL=global-styles-inline-css */
94</style>
95<link rel='stylesheet' id='tribe-events-v2-single-skeleton-css' href='https://www.vai.org/wp-content/plugins/the-events-calendar/build/css/tribe-events-single-skeleton.css?ver=6.17.5.1' media='all' />
96<link rel='stylesheet' id='tribe-events-v2-single-skeleton-full-css' href='https://www.vai.org/wp-content/plugins/the-events-calendar/build/css/tribe-events-single-full.css?ver=6.17.5.1' media='all' />
97<link rel='stylesheet' id='tec-events-elementor-widgets-base-styles-css' href='https://www.vai.org/wp-content/plugins/the-events-calendar/build/css/integrations/plugins/elementor/widgets/widget-base.css?ver=6.17.5.1' media='all' />
98<link rel='stylesheet' id='timberland-style-css' href='https://www.vai.org/wp-content/themes/timberland/theme/assets/build/app.05012024v1.2.css?id=6e26346b16951646ab98' media='all' />
99<link rel='stylesheet' id='elementor-frontend-css' href='https://www.vai.org/wp-content/uploads/elementor/css/custom-frontend.min.css?ver=1790874468' media='all' />
100<link rel='stylesheet' id='elementor-post-30881-css' href='https://www.vai.org/wp-content/uploads/elementor/css/post-30881.css?ver=1790874468' media='all' />
101<link rel='stylesheet' id='sby_common_styles-css' href='https://www.vai.org/wp-content/plugins/youtube-feed-pro/public/build/css/sb-youtube-common.css?ver=2.10.0' media='all' />
102<link rel='stylesheet' id='sby_styles-css' href='https://www.vai.org/wp-content/plugins/youtube-feed-pro/public/build/css/sb-youtube.css?ver=2.10.0' media='all' />
103<link rel='stylesheet' id='widget-breadcrumbs-css' href='https://www.vai.org/wp-content/plugins/elementor-pro/assets/css/widget-breadcrumbs.min.css?ver=4.3.0' media='all' />
104<link rel='stylesheet' id='widget-heading-css' href='https://www.vai.org/wp-content/plugins/elementor/assets/css/widget-heading.min.css?ver=4.3.2' media='all' />
105<link rel='stylesheet' id='widget-divider-css' href='https://www.vai.org/wp-content/plugins/elementor/assets/css/widget-divider.min.css?ver=4.3.2' media='all' />
106<link rel='stylesheet' id='widget-nested-accordion-css' href='https://www.vai.org/wp-content/plugins/elementor/assets/css/widget-nested-accordion.min.css?ver=4.3.2' media='all' />
107<link rel='stylesheet' id='elementor-post-22246-css' href='https://www.vai.org/wp-content/uploads/elementor/css/post-22246.css?ver=1790875214' media='all' />
108<link rel='stylesheet' id='tablepress-default-css' href='https://www.vai.org/wp-content/plugins/tablepress/css/build/default.css?ver=3.4' media='all' />
109<link rel='stylesheet' id='relevanssi-live-search-css' href='https://www.vai.org/wp-content/plugins/relevanssi-live-ajax-search/assets/styles/style.css?ver=2.5' media='all' />
110<style id="elementor-pro-custom-fonts-inline-css">
111@font-face {
112	font-family: 'Monument Extended';
113	font-style: normal;
114	font-weight: normal;
115	font-display: auto;
116	src: url('https://www.vai.org/wp-content/uploads/2025/05/PPMonumentExtended-Regular.woff') format('woff');
117}
118@font-face {
119	font-family: 'Monument Extended';
120	font-style: normal;
121	font-weight: 700;
122	font-display: auto;
123	src: url('https://www.vai.org/wp-content/uploads/2025/05/PPMonumentExtended-Bold.woff2') format('woff2');
124}
125
126@font-face {
127	font-family: 'Larken';
128	font-style: normal;
129	font-weight: normal;
130	font-display: auto;
131	src: url('https://www.vai.org/wp-content/uploads/2025/05/larken-regular.woff') format('woff');
132}
133@font-face {
134	font-family: 'Larken';
135	font-style: normal;
136	font-weight: 500;
137	font-display: auto;
138	src: url('https://www.vai.org/wp-content/uploads/2025/05/larken-medium.woff') format('woff');
139}
140@font-face {
141	font-family: 'Larken';
142	font-style: normal;
143	font-weight: 300;
144	font-display: auto;
145	src: url('https://www.vai.org/wp-content/uploads/2025/05/larken-light.woff') format('woff');
146}
147@font-face {
148	font-family: 'Larken';
149	font-style: normal;
150	font-weight: 700;
151	font-display: auto;
152	src: url('https://www.vai.org/wp-content/uploads/2025/05/larken-bold.woff') format('woff');
153}
154@font-face {
155	font-family: 'Larken';
156	font-style: normal;
157	font-weight: 800;
158	font-display: auto;
159	src: url('https://www.vai.org/wp-content/uploads/2025/05/larken-extrabold.woff') format('woff');
160}
161
162@font-face {
163	font-family: 'Apercu Regular';
164	font-style: normal;
165	font-weight: normal;
166	font-display: auto;
167	src: url('https://www.vai.org/wp-content/uploads/2025/05/Apercu
167-Regular-Pro.woff') format('woff');
168}
169
170@font-face {
171	font-family: 'Apercu Mono';
172	font-style: normal;
173	font-weight: normal;
174	font-display: auto;
175	src: url('https://www.vai.org/wp-content/uploads/2025/05/ApercuMono-Regular-Pro.woff') format('woff');
176}
177
178/*# sourceURL=elementor-pro-custom-fonts-inline-css */
179</style>
180<script id="jquery-core-js" src="https://www.vai.org/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 180
180
181<script id="jquery-migrate-js" src="https://www.vai.org/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 181
181
182<script id="facebook-signal-js-extra">
183var facebookSignalConfig = {"cookieName":"wc_facebook_signals_state","ajaxUrl":"https://www.vai.org/wp-admin/admin-ajax.php","signalsAction":"fbpix_set_pixel_signals","signalsNonce":"6500789da4"};
184//# sourceURL=facebook-signal-js-extra
185</script>
vendor: 1 bytes, line 185
185
186<script id="facebook-signal-js" src="https://www.vai.org/wp-content/plugins/official-facebook-pixel/core/../js/facebook_signal.js?ver=5.2.2"></script>
186
187<link rel="https://api.w.org/" href="https://www.vai.org/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.vai.org/wp-json/wp/v2/pages/22246" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.vai.org/xmlrpc.php?rsd" />
188<link rel='shortlink' href='https://www.vai.org/?p=22246' />
189<!-- HFCM by 99 Robots - Snippet # 1: TVSquared Tracking Code -->
190<!-- Begin TVSquared Page Visits Tracking Code -->
191<script type="text/javascript">
192    var _tvq = window._tvq = window._tvq || [];
193    (function() {
194      var u = (("https:" == document.location.protocol) ?
195          "https://collector-8995.tvsquared.com/"
196          :
197          "http://collector-8995.tvsquared.com/");
198      _tvq.push(['setSiteId', "TV-18090945-1"]);
199      _tvq.push(['setTrackerUrl', u + 'tv2track.php']);
200      _tvq.push([function() {
201          this.deleteCustomVariable(5, 'page')
202      }]);
203      _tvq.push(['trackPageView']);
204      var d = document,
205          g = d.createElement('script'),
206          s = d.getElementsByTagName('script')[0];
207      g.type = 'text/javascript';
208      g.defer = true;
209      g.async = true;
210      g.src = u + 'tv2track.js';
211      s.parentNode.insertBefore(g, s);
212    })();
213</script>
213
214<!-- End TVSquared Tracking Code -->
215
216<!-- /end HFCM by 99 Robots -->
217<!-- HFCM by 99 Robots - Snippet # 2: Image Alignment Fix -->
218<style type="text/css">
219
220.alignleft {
221    display: inline;
222    float: left!important;
223    margin-right: 1rem;
224		margin-left: 0!important;
225}
226
227.aligncenter {
228    clear: both;
229		display:block;
230		margin-left:auto!important;
231		margin-right:auto!important;
232}
233	
234.alignright {
235    display: inline;
236    float: right!important;
237    margin-left: 1rem!important;
238}
239	
240</style>
241<!-- /end HFCM by 99 Robots -->
242<!-- HFCM by 99 Robots - Snippet # 3: Prevent right click on images only desktop -->
243<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
243
244
245<script>
246
247$(document).ready(function () {
248
249  $("img").on("contextmenu",function(e){
250
251    return false;
252
253  });
254
255});
256
257</script>
257
258<!-- /end HFCM by 99 Robots -->
259<!-- HFCM by 99 Robots - Snippet # 4: Prevent Webkit Touch on Mobile from saving images -->
260<style type="text/css">
261img {
262
263   -webkit-touch-callout:none;
264
265}
266</style>
267<!-- /end HFCM by 99 Robots -->
268<!-- HFCM by 99 Robots - Snippet # 5: Google Tag Manager -->
269<meta name="google-site-verification" content="5z5n8aDYBZFL8YW-r8IjcxGbCM5Bb5i7kcX_CFUVfVc" />
270<!-- /end HFCM by 99 Robots -->
271<!-- HFCM by 99 Robots - Snippet # 6: VAI Universal Pixel -->
272<script src="https://js.ipredictive.com/viant_universal_pixel.js" type="text/javascript"></script>
vendor: 2 bytes, line 272
272
273<script type="text/javascript">
274    new ViantUniversalPixel(112271, 'https://ad.ipredictive.com/d/track/event',
275    {
276  "ps": "0"
277}).fire();
278</script>
278
279<noscript>
280		<img src="https://ad.ipredictive.com/d/track/event?upid=112271&url=[url]&cache_buster=[timestamp]&ps=1" alt="event tracking" height="1" width="1" style="display:none" />
281</noscript>
282<!-- /end HFCM by 99 Robots -->
283		
283<script type="text/javascript">
284			(function(c, l, a, r, i, t, y) {
285				c[a] = c[a] || function() {
286					(c[a].q = c[a].q || []).push(arguments)
287				};
288				t = l.createElement(r);
289				t.async = 1;
290				t.src = "https://www.clarity.ms/tag/" + i + "?ref=wordpress";
291				y = l.getElementsByTagName(r)[0];
292				y.parentNode.insertBefore(t, y);
293			})(window, document, "clarity", "script", "r8p0dt7014");
294		</script>
294
295	<meta name="tec-api-version" content="v1"><meta name="tec-api-origin" content="https://www.vai.org"><link rel="alternate" href="https://www.vai.org/wp-json/tribe/events/v1/" /><meta name="et-api-version" content="v1"><meta name="et-api-origin" content="https://www.vai.org"><link rel="https://theeventscalendar.com/" href="https://www.vai.org/wp-json/tribe/tickets/v1/" />
296		<!-- CPT UI Extended Customizer CSS -->
297		<style type="text/css" id="cpt-ui-extended-css">
298																										</style>
299		<!-- /CPT UI Extended Customizer CSS -->
300
301		
302<!-- Google Tag Manager for WordPress by gtm4wp.com -->
303<!-- GTM Container placement set to automatic -->
304<script data-cfasync="false" data-pagespeed-no-defer>
305	var dataLayer_content = {"siteID":1,"siteName":"Van Andel Institute","pageTitle":"Publications \u0026#8211; Van Andel Institute","pagePostType":"page","pagePostType2":"single-page","pagePostAuthor":"rcorwin"};
306	dataLayer.push( dataLayer_content );
307</script>
vendor: 1 bytes, line 307
307
308<script data-cfasync="false" data-pagespeed-no-defer>
vendor: 322 bytes, lines 308-313
308
309(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
310new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
311j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
312'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
313})(window,document,'script','dataLayer','
313GTM-NHQKHZ5
vendor: 4 bytes, line 313
313');
314</script>
314
315<!-- End Google Tag Manager for WordPress by gtm4wp.com --><meta name="generator" content="Elementor 4.3.2; features: e_font_icon_svg, additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-swap">
316<script>
317document.addEventListener('DOMContentLoaded', function() {
318    window.addEventListener('elementor/frontend/init', function() {
319
320        /**
321         * 1. Helper: Get the tab ID specifically from the 'tabUrl' query parameter
322         */
323        function getTabIdFromQuery() {
324            const urlParams = new URLSearchParams(window.location.search);
325            return urlParams.get('tabUrl');
326        }
327
328        /**
329         * 2. Helper: Update the URL Query Parameter when a tab is clicked
330         */
331        function updateUrlOnTabClick(event) {
332            // Find the closest tab title element
333            const tabTitle = event.target.closest('.e-n-tab-title');
334
335            // If a tab title with an ID was clicked
336            if (tabTitle && tabTitle.id) {
337                const currentUrl = new URL(window.location);
338                const currentTabParam = currentUrl.searchParams.get('tabUrl');
339
340                // Only update history if the tab is different from what is already in the URL
341                if (currentTabParam !== tabTitle.id) {
342                    currentUrl.searchParams.set('tabUrl', tabTitle.id);
343                    
344                    // Update URL without reloading
345                    history.pushState(null, '', currentUrl);
346                }
347            }
348        }
349
350        /**
351         * 3. Main Logic: Open the tab and scroll to it
352         */
353        function openAndScrollToTab() {
354            const targetId = getTabIdFromQuery();
355
356            if (!targetId) {
357                return; // No tabUrl parameter found
358            }
359
360            const tabButton = document.getElementById(targetId);
361
362            // Ensure the button exists and is a valid Elementor tab title
363            if (tabButton && tabButton.classList.contains('e-n-tab-title')) {
364                
365                // Click the tab to open content
366                // (This will implicitly trigger updateUrlOnTabClick, ensuring URL consistency)
367                tabButton.click();
368
369                // --- SCROLL LOGIC ---
370                const tabsWidget = tabButton.closest('.e-n-tabs');
371                if (!tabsWidget) {
372                    return;
373                }
374
375                const headerOffset = 120; // Adjust for your sticky header
376                const widgetTop = tabsWidget.getBoundingClientRect().top + window.pageYOffset;
377                const targetScrollPosition = widgetTop - headerOffset;
378
379                window.scrollTo({
380                    top: targetScrollPosition,
381                    behavior: 'smooth'
382                });
383            }
384        }
385
386        // --- INITIALIZATION ---
387
388        // 1. Run on load (delayed slightly to ensure Elementor is ready)
389        setTimeout(openAndScrollToTab, 300);
390
391        // 2. Listen for clicks to update the URL parameter
392        document.addEventListener('click', updateUrlOnTabClick);
393
394        // 3. Listen for browser "Back/Forward" buttons
395        // Since we are changing history states, we need to detect when the user hits 'Back'
396        window.addEventListener('popstate', openAndScrollToTab);
397    });
398});
399</script>
vendor: 1 bytes, line 399
399
400<script>
401document.addEventListener('DOMContentLoaded', () => {
402
403    // SELECTORS
404    const triggerClass = '.popup-trigger-btn';
405    const popupClass   = '.person-popup';
406    const closeClass   = '.close-popup-btn';
407
408    // 1. Create the Backdrop Div (Only one exists for the whole page)
409    const backdrop = document.createElement('div');
410    backdrop.classList.add('popup-backdrop');
411    document.body.appendChild(backdrop);
412
413    // 2. Event Delegation (The Performance Key)
414    document.body.addEventListener('click', (e) => {
415        
416        // --- CASE A: OPENING THE POPUP ---
417        const trigger = e.target.closest(triggerClass);
418        if (trigger) {
419            e.preventDefault();
420
421            // Find the parent loop item for this specific button
422            const loopItem = trigger.closest('.e-loop-item');
423            if (!loopItem) return;
424
425            // Find the specific popup living inside that loop item
426            const targetPopup = loopItem.querySelector(popupClass);
427            if (targetPopup) {
428                targetPopup.classList.add('is-active');
429                backdrop.classList.add('is-active');
430                document.body.classList.add('no-scroll');
431            }
432            return;
433        }
434
435        // --- CASE B: CLOSING THE POPUP ---
436        // Close if clicking the "X" button OR the Backdrop
437        if (e.target.closest(closeClass) || e.target.closest('.popup-backdrop')) {
438            e.preventDefault();
439            closeAll();
440        }
441    });
442
443    // 3. Close on ESC Key
444    document.addEventListener('keydown', (e) => {
445        if (e.key === 'Escape') closeAll();
446    });
447
448    // Helper function to reset state
449    function closeAll() {
450        const activePopups = document.querySelectorAll(popupClass + '.is-active');
451        activePopups.forEach(el => el.classList.remove('is-active'));
452        
453        backdrop.classList.remove('is-active');
454        document.body.classList.remove('no-scroll');
455    }
456
457});
458</script>
vendor: 1 bytes, line 458
458
459<script>
460document.addEventListener('DOMContentLoaded', function () {
461    // Select both types of tab systems
462    const tabContainers = document.querySelectorAll('.sticky-tab-interface, .dropdown-tab-interface');
463
464    if (tabContainers.length > 0) {
465        // Universal Breakpoint for Tablet and Mobile (Standard Elementor Tablet width)
466        const responsiveBreakpoint = 1024;
467        
468        // Offset for desktop sticky bar (if applicable)
469        const topOffset = 0; 
470
471        // --- 1. Dropdown Logic (Shared) ---
472        const createCustomDropdown = (widget) => {
473            if (widget.querySelector('.custom-tabs-dropdown-wrapper')) return;
474
475            const tabsHeading = widget.querySelector('.e-n-tabs-heading');
476            const tabTitles = widget.querySelectorAll('.e-n-tab-title');
477            const tabContentWrapper = widget.querySelector('.e-n-tabs-content');
478
479            if (!tabsHeading || tabTitles.length === 0) return;
480
481            const dropdownWrapper = document.createElement('div');
482            dropdownWrapper.className = 'custom-tabs-dropdown-wrapper';
483
484            const activeButton = document.createElement('button');
485            activeButton.className = 'dropdown-active-title';
486            activeButton.setAttribute('aria-haspopup', 'true');
487            activeButton.setAttribute('aria-expanded', 'false');
488
489            const optionsList = document.createElement('div');
490            optionsList.className = 'dropdown-options-list';
491            optionsList.setAttribute('role', 'listbox');
492
493            let activeTabTitle = '';
494            tabTitles.forEach(titleButton => {
495                const titleText = titleButton.querySelector('.e-n-tab-title-text').textContent.trim();
496                const tabIndex = titleButton.getAttribute('data-tab-index');
497
498                if (titleButton.getAttribute('aria-selected') === 'true') {
499                    activeTabTitle = titleText;
500                }
501
502                const optionItem = document.createElement('button');
503                optionItem.className = 'dropdown-option-item';
504                optionItem.textContent = titleText;
505                optionItem.setAttribute('data-tab-index', tabIndex);
506                optionItem.setAttribute('role', 'option');
507
508                optionItem.addEventListener('click', () => {
509                    const originalTab = widget.querySelector(`.e-n-tab-title[data-tab-index="${tabIndex}"]`);
510                    if (originalTab) originalTab.click();
511                    activeButton.textContent = titleText;
512                    optionsList.classList.remove('is-open');
513                    activeButton.setAttribute('aria-expanded', 'false');
514                    
515                    // Scroll back to the top of the widget when switching tabs
516                    const offsetPosition = widget.getBoundingClientRect().top + window.scrollY - 50;
517                    window.scrollTo({ top: offsetPosition, behavior: "smooth" });
518                });
519                
520                optionsList.appendChild(optionItem);
521            });
522            
523            activeButton.textContent = activeTabTitle;
524
525            activeButton.addEventListener('click', () => {
526                const isExpanded = optionsList.classList.toggle('is-open');
527                activeButton.setAttribute('aria-expanded', isExpanded);
528            });
529
530            document.addEventListener('click', (event) => {
531                if (!dropdownWrapper.contains(event.target)) {
532                    optionsList.classList.remove('is-open');
533                    activeButton.setAttribute('aria-expanded', 'false');
534                }
535            });
536
537            dropdownWrapper.appendChild(activeButton);
538            dropdownWrapper.appendChild(optionsList);
539            widget.querySelector('.e-n-tabs').insertBefore(dropdownWrapper, tabContentWrapper);
540            tabsHeading.style.display = 'none';
541        };
542
543        const restoreOriginalTabs = (widget) => {
544            const dropdown = widget.querySelector('.custom-tabs-dropdown-wrapper');
545            const tabsHeading = widget.querySelector('.e-n-tabs-heading');
546            if (dropdown) dropdown.remove();
547            if (tabsHeading) tabsHeading.style.display = '';
548        };
549
550        // --- 2. Desktop Sticky Logic (Only for .sticky-tab-interface) ---
551        const handleDesktopSticky = () => {
552            // Exit if screen is tablet/mobile
553            if (window.innerWidth <= responsiveBreakpoint) return;
554
555            tabContainers.forEach(container => {
556                // Ignore the non-sticky variant
557                if (container.classList.contains('dropdown-tab-interface')) return;
558
559                const widget = container.querySelector('.elementor-widget-n-tabs');
560                if (!widget) return;
561
562                const heading = widget.querySelector('.e-n-tabs-heading');
563                let placeholder = widget.querySelector('.sticky-placeholder');
564
565                if (!heading) return;
566
567                const trackingElement = placeholder || heading;
568                const rect = trackingElement.getBoundingClientRect();
569
570                if (rect.top <= topOffset) {
571                    if (!heading.classList.contains('js-is-sticky')) {
572                        if (!placeholder) {
573                            placeholder = document.createElement('div');
574                            placeholder.className = 'sticky-placeholder';
575                            placeholder.style.height = heading.offsetHeight + 'px';
576                            placeholder.style.marginBottom = window.getComputedStyle(heading).marginBottom;
577                            heading.parentNode.insertBefore(placeholder, heading);
578                        }
579                        heading.classList.add('js-is-sticky');
580                        heading.style.width = widget.offsetWidth + 'px';
581                        heading.style.top = topOffset + 'px';
582                    }
583                } else {
584                    if (heading.classList.contains('js-is-sticky')) {
585                        heading.classList.remove('js-is-sticky');
586                        heading.style.width = '';
587                        heading.style.top = '';
588                        if (placeholder) placeholder.remove();
589                    }
590                }
591            });
592        };
593
594        // --- 3. Initialization ---
595        const handleResize = () => {
596            tabContainers.forEach(container => {
597                const widget = container.querySelector('.elementor-widget-n-tabs');
598                if (widget) {
599                    if (window.innerWidth <= responsiveBreakpoint) {
600                        createCustomDropdown(widget);
601                        // Clean up desktop sticky artifacts if present
602                        const heading = widget.querySelector('.e-n-tabs-heading');
603                        const placeholder = widget.querySelector('.sticky-placeholder');
604                        if (heading) {
605                            heading.classList.remove('js-is-sticky');
606                            heading.style.width = '';
607                            heading.style.top = '';
608                        }
609                        if (placeholder) placeholder.remove();
610                    } else {
611                        restoreOriginalTabs(widget);
612                    }
613                }
614            });
615        };
616
617        handleResize();
618        window.addEventListener('resize', handleResize);
619        window.addEventListener('scroll', handleDesktopSticky);
620    }
621});
622</script>
622
623
624<style>
625/* --- Desktop Sticky Styles (Applied ONLY to .sticky-tab-interface) --- */
626@media (min-width: 1025px) {
627    .sticky-tab-interface .e-n-tabs-heading.js-is-sticky {
628        position: fixed !important;
629        left: auto;
630        z-index: 10;
631        background-color: #ffffff;
632        box-shadow: 0 4px 10px rgba(0,0,0,0.05);
633        border-bottom: 1px solid #e0e0e0;
634        margin-top: 8rem !important;
635        margin-bottom: 0 !important;
636        padding-top: 15px;
637        padding-bottom: 0px;
638    }
639}
640
641/* --- Dropdown Styles (Applied to BOTH on Tablet/Mobile) --- */
642@media (max-width: 1024px) {
643    /* Only .sticky-tab-interface gets a sticky dropdown */
644    .sticky-tab-interface .custom-tabs-dropdown-wrapper {
645        position: -webkit-sticky;
646        position: sticky;
647        top: 5rem;
648        z-index: 10;
649    }
650
651    /* .dropdown-tab-interface stays static (scrolling naturally) */
652    .dropdown-tab-interface .custom-tabs-dropdown-wrapper {
653        position: relative;
654        z-index: 10;
655    }
656
657    /* Shared Dropdown Appearance */
658    .custom-tabs-dropdown-wrapper {
659        background-color: #ffffff;
660        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
661    }
662
663    .dropdown-active-title {
664        display: flex;
665        justify-content: space-between;
666        align-items: center;
667        width: 100%;
668        padding: 15px 20px;
669        font-size: 20px;
670        font-weight: 600;
671        text-align: left;
672        color: #1a1a1a;
673        background-color: #ffffff;
674        border: none;
675        border-bottom: 2px solid #f0f0f0;
676        cursor: pointer;
677    }
678
679    .dropdown-active-title::after {
680        content: '';
681        border: solid #333;
682        border-width: 0 2px 2px 0;
683        display: inline-block;
684        padding: 4px;
685        transform: rotate(45deg);
686        transition: transform 0.3s ease;
687    }
688    
689    .dropdown-active-title[aria-expanded="true"]::after {
690        transform: rotate(-135deg);
691    }
692
693    .dropdown-options-list {
694        display: none;
695        position: absolute;
696        top: 100%;
697        left: 0;
698        width: 100%;
699        background-color: #ffffff;
700        box-shadow: 0 8px 16px rgba(0,0,0,0.15);
701        z-index: 1000;
702    }
703
704    .dropdown-options-list.is-open {
705        display: block;
706    }
707
708    .dropdown-option-item {
709        display: block;
710        width: 100%;
711        padding: 15px 20px;
712        font-size: 16px;
713        text-align: left;
714        background-color: #fff;
715        border: none;
716        border-top: 1px solid #f0f0f0;
717        cursor: pointer;
718        color: black;
719    }
720}
721</style>
722<script>
723document.addEventListener('DOMContentLoaded', function () {
724    const subNavContainers = document.querySelectorAll('.sub-navigation-interface');
725
726    if (subNavContainers.length > 0) {
727        const tabletBreakpoint = 1024;
728
729        const createSubNavDropdown = (container) => {
730            const navWidget = container.querySelector('.elementor-widget-nav-menu');
731            if (!navWidget || container.querySelector('.sub-nav-active-button')) {
732                return;
733            }
734
735            const mainMenu = navWidget.querySelector('.elementor-nav-menu--main');
736            const defaultToggle = navWidget.querySelector('.elementor-menu-toggle');
737            const topLevelMenuItems = mainMenu.querySelectorAll(':scope > ul > li.menu-item');
738
739            if (topLevelMenuItems.length === 0) return;
740
741            const activeButton = document.createElement('button');
742            activeButton.className = 'sub-nav-active-button';
743            activeButton.setAttribute('aria-haspopup', 'true');
744            activeButton.setAttribute('aria-expanded', 'false');
745
746            const optionsPanel = document.createElement('div');
747            optionsPanel.className = 'sub-nav-options-panel';
748            optionsPanel.setAttribute('role', 'menu');
749
750            const activeItem = mainMenu.querySelector('.current-menu-item > a, .current-menu-ancestor > a');
751            const activeItemText = activeItem ? activeItem.textContent.trim() : topLevelMenuItems[0].querySelector('a').textContent.trim();
752
753            const buttonLabel = document.createElement('span');
754            buttonLabel.className = 'sub-nav-button-label';
755            buttonLabel.textContent = activeItemText;
756            activeButton.appendChild(buttonLabel);
757
758            // --- REBUILT LOGIC FOR NESTED ITEMS ---
759            topLevelMenuItems.forEach(item => {
760                const mainLink = item.querySelector(':scope > a');
761                const subMenu = item.querySelector(':scope > .sub-menu');
762
763                // Case 1: Item has a sub-menu (create a toggle)
764                if (subMenu) {
765                    const group = document.createElement('div');
766                    group.className = 'sub-nav-item-group';
767
768                    const toggleButton = document.createElement('button');
769                    toggleButton.className = 'sub-nav-item-toggle';
770                    toggleButton.innerHTML = `<span>${mainLink.textContent.trim()}</span>`;
771                    
772                    const nestedList = document.createElement('div');
773                    nestedList.className = 'sub-nav-nested-list';
774                    
775                    subMenu.querySelectorAll('a.elementor-sub-item').forEach(subLink => {
776                        const newLink = document.createElement('a');
777                        newLink.href = subLink.href;
778                        newLink.textContent = subLink.textContent.trim();
779                        newLink.className = `sub-nav-option-item is-sub-item ${subLink.closest('li.menu-item').className} ${subLink.className}`;
780                        nestedList.appendChild(newLink);
781                    });
782
783                    toggleButton.addEventListener('click', (e) => {
784                        e.stopPropagation();
785                        group.classList.toggle('is-open');
786                    });
787
788                    group.appendChild(toggleButton);
789                    group.appendChild(nestedList);
790                    optionsPanel.appendChild(group);
791
792                } 
793                // Case 2: Item is a simple link
794                else {
795                    const newLink = document.createElement('a');
796                    newLink.href = mainLink.href;
797                    newLink.textContent = mainLink.textContent.trim();
798                    newLink.className = `sub-nav-option-item ${item.className} ${mainLink.className}`;
799                    optionsPanel.appendChild(newLink);
800                }
801            });
802
803            activeButton.addEventListener('click', (e) => {
804                e.stopPropagation();
805                const isExpanded = optionsPanel.classList.toggle('is-open');
806                activeButton.setAttribute('aria-expanded', isExpanded);
807            });
808
809            document.addEventListener('click', () => {
810                if (optionsPanel.classList.contains('is-open')) {
811                    optionsPanel.classList.remove('is-open');
812                    activeButton.setAttribute('aria-expanded', 'false');
813                }
814            });
815
816            navWidget.querySelector('.elementor-widget-container').appendChild(activeButton);
817            container.appendChild(optionsPanel);
818            mainMenu.style.display = 'none';
819            if (defaultToggle) defaultToggle.style.display = 'none';
820        };
821
822        const restoreOriginalNav = (container) => {
823            const button = container.querySelector('.sub-nav-active-button');
824            const panel = container.querySelector('.sub-nav-options-panel');
825            if (button) button.remove();
826            if (panel) panel.remove();
827
828            const navWidget = container.querySelector('.elementor-widget-nav-menu');
829            if (navWidget) {
830                const mainMenu = navWidget.querySelector('.elementor-nav-menu--main');
831                const defaultToggle = navWidget.querySelector('.elementor-menu-toggle');
832                if (mainMenu) mainMenu.style.display = '';
833                if (defaultToggle) defaultToggle.style.display = '';
834            }
835        };
836
837        const handleResize = () => {
838            subNavContainers.forEach(container => {
839                if (window.innerWidth <= tabletBreakpoint) {
840                    createSubNavDropdown(container);
841                } else {
842                    restoreOriginalNav(container);
843                }
844            });
845        };
846
847        handleResize();
848        window.addEventListener('resize', handleResize);
849    }
850});
851</script>
851
852<style>
853/* Apply these styles only on tablet and mobile (1024px and below) */
854@media (max-width: 1024px) {
855    .sub-navigation-interface {
856        position: relative;
857        z-index: 10;
858        margin-bottom: 20px;
859    }
860
861    .sub-navigation-interface .e-con-inner {
862        align-items: center;
863    }
864
865    .sub-nav-active-button {
866        display: flex;
867        justify-content: flex-end;
868        align-items: center;
869        width: auto;
870        margin-left: auto;
871        padding: 10px 0;
872        background-color: transparent;
873        border: none;
874        cursor: pointer;
875    }
876
877    .sub-nav-button-label {
878        display: none;
879    }
880
881    .sub-nav-active-button::after {
882        content: '';
883        border: solid #333;
884        border-width: 0 2px 2px 0;
885        display: inline-block;
886        padding: 4px;
887        transform: rotate(45deg);
888        transition: transform 0.3s ease;
889    }
890    
891    .sub-nav-active-button[aria-expanded="true"]::after {
892        transform: rotate(-135deg);
893    }
894
895    .sub-nav-options-panel {
896        position: absolute;
897        top: 100%;
898        left: 0;
899        width: 100%;
900        background-color: #ffffff;
901        box-shadow: 0 10px 25px rgba(0,0,0,0.1);
902        border: 1px solid #f0f0f0;
903        opacity: 0;
904        transform: translateY(-10px);
905        pointer-events: none;
906        transition: opacity 0.3s ease, transform 0.3s ease;
907    }
908
909    .sub-nav-options-panel.is-open {
910        opacity: 1;
911        transform: translateY(0);
912        pointer-events: auto;
913    }
914
915    .sub-nav-option-item,
916    .sub-nav-item-toggle {
917        display: block;
918        width: 100%;
919        padding: 12px 20px;
920        font-size: 15px;
921        color: #333;
922        text-decoration: none;
923        text-align: left;
924/*         border-bottom: 1px solid #f0f0f0; */
925        background: transparent;
926        border-left: none;
927        border-right: none;
928        border-top: none;
929    }
930    .sub-nav-options-panel > *:last-child > .sub-nav-item-toggle,
931    .sub-nav-options-panel > .sub-nav-option-item:last-child {
932        border-bottom: none;
933    }
934
935    .sub-nav-option-item:hover,
936    .sub-nav-item-toggle:hover {
937        background-color: #f9f9f9;
938    }
939    
940    /* REVISED: Accordion toggle button */
941    .sub-nav-item-toggle {
942        display: flex; /* Changed from 'flex' */
943        align-items: center;
944        font-weight: bold;
945        cursor: pointer;
946    }
947
948    /* REVISED: The chevron icon for the toggle */
949    .sub-nav-item-toggle::after {
950        content: '';
951        display: inline-block;
952        margin-left: 8px; /* Space between text and icon */
953        border: solid #555;
954        border-width: 0 2px 2px 0;
955        padding: 3px;
956        transform: rotate(45deg); /* Downward pointing */
957        transition: transform 0.3s ease;
958    }
959    
960    /* REVISED: Rotate chevron up when open */
961    .sub-nav-item-group.is-open > .sub-nav-item-toggle::after {
962        transform: rotate(-135deg); /* Upward pointing */
963    }
964
965    /* The nested list that gets revealed */
966    .sub-nav-nested-list {
967        max-height: 0;
968        overflow: hidden;
969        transition: max-height 0.4s ease-in-out;
970        background-color: #fafafa;
971    }
972    .sub-nav-item-group.is-open > .sub-nav-nested-list {
973        max-height: 500px;
974    }
975
976    /* Indented styling for sub-items */
977    .is-sub-item {
978        padding-left: 35px;
979    }
980}
981</style>
982
983<!-- Meta Pixel Code -->
984<script type='text/javascript'>
985!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
986n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
987n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
988t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
989document,'script','https://connect.facebook.net/en_US/fbevents.js');
990</script>
990
991<!-- End Meta Pixel Code -->
992<script type='text/javascript'>FacebookSignal.init({"held":false,"ajaxUrl":"https:\/\/www.vai.org\/wp-admin\/admin-ajax.php","releaseAction":"fbpix_release_signals","pixelId":"384101625410649","attribution":{},"capig":"1"});FacebookSignal.initPixel("384101625410649",{},{"agent":"wordpress_0-7.0.5-5.2.2","includeCapiIntegration":true});</script>
992<script type='text/javascript'>
993    fbq('track', 'PageView', []);
994  </script>
994			<style>
995				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
996				.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
997					background-image: none !important;
998				}
999				@media screen and (max-height: 1024px) {
1000					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
1001					.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
1002						background-image: none !important;
1003					}
1004				}
1005				@media screen and (max-height: 640px) {
1006					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
1007					.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
1008						background-image: none !important;
1009					}
1010				}
1011			</style>
1012			<link rel="icon" href="https://www.vai.org/wp-content/uploads/2022/06/cropped-vai-fav-32x32.png" sizes="32x32" />
1013<link rel="icon" href="https://www.vai.org/wp-content/uploads/2022/06/cropped-vai-fav-192x192.png" sizes="192x192" />
1014<link rel="apple-touch-icon" href="https://www.vai.org/wp-content/uploads/2022/06/cropped-vai-fav-180x180.png" />
1015<meta name="msapplication-TileImage" content="https://www.vai.org/wp-content/uploads/2022/06/cropped-vai-fav-270x270.png" />
1016<style id="wp-custom-css">
1017
1018.gform_wrapper.gravity-theme .ginput_complex input, .gform_wrapper.gravity-them {
1019	margin-top: 1.125rem
1020}
1021.max-h-24 {max-height: 6rem;}
1022
1023			.gallery{-moz-column-gap:var(--space-4xs);column-gap:var(--space-4xs);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:var(--space-xl);row-gap:var(--space-4xs)}@media (min-width:940px){.gallery{-moz-column-gap:var(--space-m);column-gap:var(--space-m);row-gap:var(--space-m)}}.gallery-icon img{bottom:0;height:100%;left:0;-o-object-fit:cover;object-fit:cover;right:0;top:0;width:100%}
1024
1025.page-id-21779 .two-up, .page-id-21779 .four-up {
1026	padding-bottom: var(--space-3xl);
1027  padding-top: var(--space-3xl);
1028}
1029
1030
1031	.article-wysiwyg .wysiwyg div[id^=attachment_], .article-wysiwyg .wysiwyg figure[id^=attachment_] {
1032		max-width: 100% !important;
1033	}
1034
1035
1036@media (min-width:940px) {
1037	.page-id-21779 .two-up, .page-id-21779 .four-up {
1038			padding-bottom: var(--space-7xl);
1039    padding-top: var(--space-7xl);
1040	}
1041}
1042
1043@media (min-width:940px) {
1044.page-id-18435 #filtered-people, .page-id-18435 .three-up, .page-id-18435 .impact-callout > div {
1045			padding-bottom: var(--space-7xl);
1046    padding-top: var(--space-7xl);
1047}
1048}
1049
1050.page-id-17989 .three-up {
1051		padding-bottom: var(--space-3xl);
1052  padding-top: var(--space-3xl);
1053}
1054
1055.page-id-17989 .three-up .image-cover img {
1056		object-fit: contain !important;
1057	}
1058
1059		.page-id-17989 .three-up.remove_top_padding {
1060padding-top: 0 !important;
1061	}
1062
1063@media (min-width:940px) {
1064		.md\:mr-f-5 {
1065    margin-right: var(--space-m);
1066}
1067	
1068	.article-wysiwyg .wysiwyg div[id^=attachment_], .article-wysiwyg .wysiwyg figure[id^=attachment_] {
1069		min-width: 225px !important;
1070	}
1071	
1072	.page-id-17989 .three-up {
1073			padding-bottom: var(--space-7xl) !important;
1074    padding-top: var(--space-7xl) !important;
1075	}
1076	
1077		.page-id-17989 .three-up.remove_top_padding {
1078padding-top: 0 !important;
1079	}
1080}
1081
1082.page-id-22990 .image-cover.pb-7\.5\/10 {
1083    padding-bottom: 45%;
1084}
1085
1086#filtered-people img {
1087    object-position: top;
1088}
1089
1090.contact-us-gf-form_wrapper button, .contact-us-gf-form_wrapper input, .contact-us-gf-form_wrapper optgroup, .contact-us-gf-form_wrapper select, .contact-us-gf-form_wrapper textarea {
1091color: #121416;
1092}
1093body #gform_wrapper_8 .gform_body .gform_fields .gfield textarea {
1094	border: 2px solid black
1095}
1096
1097
1098.alignright {
1099    display: inline;
1100    float: right!important;
1101    margin-left: 1rem!important;
1102	margin-bottom: 1rem!important;
1103}
1104.bio-modal .image-cover > img {
1105	    object-position: top !important;
1106}
1107
1108.sponsors .tertiary-list .image-cover img {
1109	width: 75% !important;
1110}
1111.custom-divider {
1112	border: none;
1113  border-top: 2px solid #878a8f;
1114  margin: 5px 0;
1115}
1116.article-highlights {
1117  margin: 2rem 0;
1118  padding: 1.5rem;
1119  border-left: 10px solid #555;
1120  background-color: #f5f5f5;
1121}
1122
1123.article-highlights h4 {
1124  margin: 0 0 0.25 rem;
1125  font-size: 1.25rem;
1126}
1127
1128.article-highlights ul {
1129  margin: 0;
1130  padding-left: 1.25rem;
1131}
1132
1133.article-highlights li + li {
1134  margin-top: 0.5rem;
1135}
1136.about-trial-table {
1137  width: 42%;
1138  height: 100%;
1139  border: 5px solid #005596;
1140}
1141.about-trial-table td {
1142  padding: 8px;
1143}
1144/* Full width on phones and small tablets */
1145@media screen and (max-width: 768px) {
1146  .about-trial-table {
1147    width: 100% !important;
1148    height: auto !important;
1149    float: none !important;
1150    margin: 0 0 20px 0 !important;
1151    display: table;
1152  }
1153}
1154</style>
1155
1156		<style>
1157			:root {
1158				--pageBG: #121416;
1159				--pageText: #ffffff;
1160
1161			}
1162		
1163
1164		.delay-75 {
1165			transition-delay: 75ms;
1166		}
1167		.delay-100ms {
1168			transition-delay: 100ms;
1169		}
1170		.delay-200 {
1171			transition-delay: 200ms;
1172		}
1173		.delay-300 {
1174			transition-delay: 300ms;
1175		}
1176		.delay-400 {
1177			transition-delay: 400ms;
1178		}
1179		.delay-500 {
1180			transition-delay: 500ms;
1181		}
1182		.delay-600 {
1183			transition-delay: 600ms;
1184		}
1185		.delay-700 {
1186			transition-delay: 700ms;
1187		}
1188		.delay-1000 {
1189			transition-delay: 1000ms;
1190		}
1191
1192        .pb-5\.5\/10 {
1193            padding-bottom: 55%;
1194        }
1195
1196        .pb-6\.5\/10 {
1197            padding-bottom: 65%;
1198        }
1199.alignright {
1200    display: inline;
1201    float: right!important;
1202    margin-left: 1rem!important;
1203}
1204		</style>
1205			</head>
1206
1207	<body class="wp-singular page-template-default page page-id-22246 page-child parent-pageid-16805 wp-theme-timberlandtheme eio-default tribe-no-js tec-no-tickets-on-recurring tec-no-rsvp-on-recurring timberland/theme elementor-default elementor-page elementor-page-22246 tribe-theme-timberlandtheme bg-pageBG text-pageText" data-template="base.twig" :class="{ 'prevent-scroll': showMobileMenu, 'prevent-scroll': showDesktopMenu, 'prevent-scroll': showPopupForm}" x-data="{ showDesktopMenu: false, showMobileMenu: false, showSubscribeModal: false, showSearchModal: false, showPopupForm: false }">
1208		<header class="fixed top-0 left-0 right-0 w-full header z-90">
1209	<a class="mr-auto site-logo" href="https://www.vai.org/">
1210	<svg class="w-40 h-auto sm:w-60" width="155" height="50" viewbox="0 0 155 50" fill="none" id="vai-nav" xmlns="http://www.w3.org/2000/svg">
1211		<g clip-path="url(#clip0_4153_30951)">
1212			<path id="vai-nav-logo" class="fill-pageText" d="M12.043 4.76935C12.043 2.11102 13.1378 0 14.5064 0C15.8749 0 16.9697 2.11102 16.9697 4.76935C16.9697 7.38858 15.8749 9.5387 14.5064 9.5387C13.1378 9.5387 12.043 7.38858 12.043 4.76935ZM17.5171 13.7217C18.0254 14.4253 18.4164 15.3245 18.651 16.2627C19.2766 18.7647 19.0811 19.742 18.7292 22.4785C18.7292 22.4785 21.349 8.48319 28.8563 2.18921C22.1701 4.41751 17.5171 13.7217 17.5171 13.7217ZM0 2.18921C7.50733 8.48319 10.1271 22.4785 10.1271 22.4785C9.81427 19.742 9.57967 18.7647 10.2053 16.2627C10.4399 15.2854 10.8309 14.4253 11.3392 13.7217C11.3783 13.7217 6.72532 4.41751 0 2.18921ZM14.5064 12.8616H14.4673H14.4282C13.1769 12.8616 12.3949 14.7381 11.9648 17.24C10.4399 26.2705 14.4673 49.9609 14.4673 49.9609C14.4673 49.9609 18.4946 26.2705 16.9697 17.24C16.5396 14.7381 15.7576 12.8616 14.5064 12.8616Z"/>
1213			<path id="vai-nav-text" class="fill-pageText" d="M46.6085 8.32837L39.2575 24.4738H38.9056L31.5547 8.32837H34.6827L39.1793 18.9226L43.6368 8.32837H46.6085ZM57.2047 24.2392L55.6798 20.6036H49.3846L47.8597 24.2392H45.0444L52.3954 8.09381H52.7864L60.0591 24.2392H57.2047ZM54.7414 18.4535L52.4736 13.1368L50.2057 18.4535H54.7414ZM64.4384 14.036L74.4091 24.552L74.7219 24.4738V8.32837H71.9848V18.3753L62.1705 8.01562L61.7404 8.09381V24.2392H64.4384V14.036ZM84.3406 24.2392H81.5254L88.8763 8.09381H89.2673L96.6183 24.2392H93.7639L92.239 20.6036H85.9438L84.3406 24.2392ZM86.7649 18.4535H91.3006L89.0327 13.1368L86.7649 18.4535ZM101.193 14.036L111.164 24.552L111.477 24.4738V8.32837H108.739V18.3753L98.9252 8.01562L98.4951 8.09381V24.2392H101.193V14.036ZM119.766 24.3565C118.045 24.3565 116.794 24.2392 115.191 24.0829V8.44565C116.716 8.28928 118.045 8.172 119.609 8.172C125.905 8.172 129.033 11.8077 129.033 16.1079C129.033 20.6036 126.1 24.3565 119.766 24.3565ZM117.928 21.8155C118.593 21.9327 119.179 21.9327 120.196 21.9327C124.302 21.9327 126.139 19.4699 126.139 16.1079C126.139 12.785 124.028 10.5567 119.961 10.5567C119.179 10.5567 118.476 10.5958 117.928 10.674V21.8155ZM141.701 21.7764H134.702V17.3589H141.037V14.9742H134.702V10.7912H141.701V8.32837H131.965V24.2392H141.701V21.7764ZM147.84 21.7764V8.32837H145.142V24.2392H154.839V21.7764H147.84ZM34.3308 45.975H37.0679V30.0641H34.3308V45.975ZM51.1441 40.111L41.2908 29.7514L40.8607 29.8295V45.975H43.5977V35.7717L53.5684 46.2877L53.8812 46.2095V30.0641H51.1832V40.111H51.1441ZM62.5615 36.749C60.5674 35.889 59.7854 35.2635 59.7854 34.1689C59.7854 33.1134 60.5674 32.1751 62.2487 32.1751C63.3436 32.1751 64.5948 32.7224 65.455 33.3088L66.3152 30.9241C65.3768 30.2987 63.8519 29.7904 62.3269 29.7904C59.0034 29.7904 57.0874 31.9406 57.0874 34.2471C57.0874 36.1626 58.1041 37.6091 60.8802 38.7818C63.4218 39.8374 63.891 40.541 63.891 41.6356C63.891 42.7302 63.1481 43.7076 61.4667 43.7076C60.0982 43.7076 58.5733 43.1603 57.3221 42.222L56.3836 44.6458C57.7913 45.5449 59.5899 46.2095 61.3885 46.2095C64.673 46.2095 66.6671 44.0203 66.6671 41.4402C66.628 39.4073 65.7287 38.1173 62.5615 36.749ZM68.2702 32.527H73.3533V45.975H76.0904V32.527H81.1344V30.0641H68.3093V32.527H68.2702ZM83.715 45.975H86.4521V30.0641H83.715V45.975ZM89.0327 32.527H94.1158V45.975H96.8529V32.527H101.897V30.0641H89.0718V32.527H89.0327ZM114.214 39.681C114.214 42.4175 112.845 43.7858 110.577 43.7858C108.27 43.7858 106.941 42.4566 106.941 39.681V30.0641H104.243V39.8765C104.243 44.0203 106.589 46.2486 110.577 46.2486C114.487 46.2486 116.99 43.9421 116.99 39.8765V30.0641H114.253V39.681H114.214ZM119.258 32.527H124.341V45.975H127.039V32.527H132.083V30.0641H119.258V32.527ZM134.585 45.975H144.282V43.5121H137.283V39.0946H143.617V36.7099H137.283V32.527H144.282V30.0641H134.546V45.975H134.585ZM152.962 32.6442C152.962 34.1298 151.789 35.3417 150.304 35.3417C148.818 35.3417 147.645 34.1298 147.645 32.6442C147.645 31.1587 148.818 29.9077 150.304 29.9077C151.75 29.9468 152.962 31.1587 152.962 32.6442ZM152.454 32.6442C152.454 31.3933 151.477 30.3768 150.264 30.3768C149.091 30.3768 148.075 31.3933 148.075 32.6442C148.075 33.8952 149.052 34.9116 150.264 34.9116C151.477 34.9116 152.454 33.8561 152.454 32.6442ZM150.773 32.9179L151.477 33.9734H150.89L150.304 33.0352C150.225 33.0352 150.147 33.0352 150.147 33.0352C150.108 33.0352 150.069 33.0352 149.952 33.0352V33.9734H149.443V31.3542C149.678 31.3151 149.913 31.3151 150.186 31.3151C150.929 31.3151 151.281 31.706 151.281 32.1751C151.281 32.4488 151.086 32.7615 150.773 32.9179ZM150.734 32.136C150.734 31.9015 150.538 31.706 150.186 31.706C150.069 31.706 149.991 31.706 149.913 31.706V32.5661C150.03 32.5661 150.069 32.5661 150.147 32.5661C150.538 32.6052 150.734 32.4488 150.734 32.136Z" fill="white"/>
1214		</g>
1215		<defs>
1216			<clipPath id="clip0_4153_30951">
1217				<rect width="154.839" height="50" fill="black"/>
1218			</clipPath>
1219		</defs>
1220	</svg>
1221	<span class="sr-only">Home</span>
1222</a>
1223    
1224<div id="menu-wrapper" class="fixed top-0 bottom-0 left-0 block w-full overflow-scroll transform menu-desktop bg-blue z-80 md:px-f-9 md:py-f-6 no-scrollbar" :class="showDesktopMenu ? 'is-open' : 'translate-x-0'" x-cloak>
1225    <div id="menu-wrapper-interfaces" class="fixed top-0 left-0 flex items-center justify-end w-full col-start-1 lg:hidden grid-item col-span-16 text-pageText">
1226        <button 
1227    id="menu-trigger-close"
1228    x-on:click="showDesktopMenu = ! showDesktopMenu"
1229	class="block w-16 h-16 transition-colors duration-300 md:bg-white nav-trigger z-80 is-open"
1230>
1231	<span class="lines">
1232		<span class="line"></span>
1233		<span class="line"></span>
1234		<span class="line"></span>
1235		<span class="line"></span>
1236	</span>
1237	<span class="sr-only">Close Desktop Menu</span>
1238</button>
1239        <a id="menu-logo-white" class="col-start-1 mr-auto site-logo" href="https://www.vai.org">
1240	<img class="relative w-40 h-auto sm:w-60 z-80" src="https://www.vai.org/wp-content/themes/timberland/theme/assets/images/vai-logo-white.svg" alt="Van Andel Institute"/>
1241	<span class="sr-only">Home</span>
1242</a>
1243            </div>
1244        <nav class="flex flex-col mx-auto header-nav max-w-9xl px-f-5"
1245         x-data="{
1246            openItems: [],
1247            init() {
1248                this.$watch('openItems', (value) => {
1249                });
1250            },
1251            toggleMenuItem(id) {
1252                if (this.openItems.includes(id)) {
1253                    this.closeMenuItem(id);
1254                } else {
1255                    this.openMenuItem(id);
1256                }
1257            },
1258            openMenuItem(id) {
1259                if (!this.openItems.includes(id)) {
1260                    this.openItems.push(id);
1261                }
1262            },
1263            closeMenuItem(id) {
1264              this.openItems = this.openItems.filter(item => item !== id);
1265            },
1266            handleBlur(id, event) {
1267                setTimeout(() => {
1268                    if (this.$refs[`menu-${id}`] && !this.$refs[`menu-${id}`].contains(document.activeElement) && !this.$el.querySelector(`#button-${id}`).contains(document.activeElement)  ) {
1269                        this.closeMenuItem(id);
1270                    }
1271                }, 0);
1272
1273            }
1274         }"
1275            >
1276        <span class="sr-only">Main Navigation</span>
1277        <ul>
1278                                                
1279        <li class="relative mb-f-8 group menu-level-1" role="presentation">
1280                            <button
1281                    @click="toggleMenuItem('18116-1')"
1282                    class="text-left is-h2 is-display menu-item-level-1"
1283                    aria-expanded="false"
1284                    aria-controls="menu-18116-1"
1285                    id="button-18116-1"
1286                    @keydown.escape.prevent="closeMenuItem('18116-1')"
1287                    @keydown.enter.prevent="toggleMenuItem('18116-1')"
1288                    @keydown.space.prevent="toggleMenuItem('18116-1')"
1289                    @blur="handleBlur('18116-1', $event)"
1290                >
1291                    About Us
1292                                     </button>
1293
1294                <ul class="nav-dropdown"
1295                    x-collapse
1296                    x-show="openItems.includes('18116-1')"
1297                    role="group"
1298                    aria-labelledby="button-18116-1"
1299                    id="menu-18116-1"
1300                >
1301                                            
1302        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1303                            <a
1304                    href="https://www.vai.org/about/"
1305                    class="p1 menu-item-level-2"
1306                    role="menuitem"
1307                >
1308                    About VAI
1309                </a>
1310                    </li>
1311                    
1312        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1313                            <a
1314                    href="https://www.vai.org/about/accolades/"
1315                    class="p1 menu-item-level-2"
1316                    role="menuitem"
1317                >
1318                    Accolades
1319                </a>
1320                    </li>
1321                    
1322        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1323                            <a
1324                    href="https://www.vai.org/careers/"
1325                    class="p1 menu-item-level-2"
1326                    role="menuitem"
1327                >
1328                    Careers
1329                </a>
1330                    </li>
1331                    
1332        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1333                            <a
1334                    href="https://www.vai.org/about/leadership/"
1335                    class="p1 menu-item-level-2"
1336                    role="menuitem"
1337                >
1338                    Leadership
1339                </a>
1340                    </li>
1341                    
1342        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1343                            <a
1344                    href="https://www.vai.org/about/institute-faqs/"
1345                    class="p1 menu-item-level-2"
1346                    role="menuitem"
1347                >
1348                    Institute FAQs
1349                </a>
1350                    </li>
1351                    
1352        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1353                            <a
1354                    href="https://www.vai.org/institute-trustees/"
1355                    class="p1 menu-item-level-2"
1356                    role="menuitem"
1357                >
1358                    Institute Trustees
1359                </a>
1360                    </li>
1361                    
1362        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1363                            <a
1364                    href="https://www.vai.org/about/history-legacy/"
1365                    class="p1 menu-item-level-2"
1366                    role="menuitem"
1367                >
1368                    History &amp; Legacy
1369                </a>
1370                    </li>
1371                    
1372        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1373                            <a
1374                    href="https://www.vai.org/about/facilities/"
1375                    class="p1 menu-item-level-2"
1376                    role="menuitem"
1377                >
1378                    Facilities
1379                </a>
1380                    </li>
1381                    
1382        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1383                            <a
1384                    href="https://www.vai.org/people/"
1385                    class="p1 menu-item-level-2"
1386                    role="menuitem"
1387                >
1388                    Our People
1389                </a>
1390                    </li>
1391                    
1392        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1393                            <a
1394                    href="https://www.vai.org/news/publications/"
1395                    class="p1 menu-item-level-2"
1396                    role="menuitem"
1397                >
1398                    Publications
1399                </a>
1400                    </li>
1401    
1402                </ul>
1403                    </li>
1404                    
1405        <li class="relative mb-f-8 group menu-level-1" role="presentation">
1406                            <button
1407                    @click="toggleMenuItem('18122-1')"
1408                    class="text-left is-h2 is-display menu-item-level-1"
1409                    aria-expanded="false"
1410                    aria-controls="menu-18122-1"
1411                    id="button-18122-1"
1412                    @keydown.escape.prevent="closeMenuItem('18122-1')"
1413                    @keydown.enter.prevent="toggleMenuItem('18122-1')"
1414                    @keydown.space.prevent="toggleMenuItem('18122-1')"
1415                    @blur="handleBlur('18122-1', $event)"
1416                >
1417                    Research
1418                                     </button>
1419
1420                <ul class="nav-dropdown"
1421                    x-collapse
1422                    x-show="openItems.includes('18122-1')"
1423                    role="group"
1424                    aria-labelledby="button-18122-1"
1425                    id="menu-18122-1"
1426                >
1427                                            
1428        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1429                            <a
1430                    href="https://www.vai.org/research/"
1431                    class="p1 menu-item-level-2"
1432                    role="menuitem"
1433                >
1434                    About Research
1435                </a>
1436                    </li>
1437                    
1438        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1439                            <a
1440                    href="https://www.vai.org/research/research-areas/"
1441                    class="p1 menu-item-level-2"
1442                    role="menuitem"
1443                >
1444                    Research Areas
1445                </a>
1446                    </li>
1447                    
1448        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1449                            <a
1450                    href="https://www.vai.org/research/research-departments/"
1451                    class="p1 menu-item-level-2"
1452                    role="menuitem"
1453                >
1454                    Research Departments
1455                </a>
1456                    </li>
1457                    
1458        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1459                            <a
1460                    href="https://www.vai.org/people/?tabUrl=Research&searchTermsUrl=532"
1461                    class="p1 menu-item-level-2"
1462                    role="menuitem"
1463                >
1464                    Research Faculty
1465                </a>
1466                    </li>
1467                    
1468        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1469                            <a
1470                    href="https://www.vai.org/research/core-services/"
1471                    class="p1 menu-item-level-2"
1472                    role="menuitem"
1473                >
1474                    Core Technologies and Services
1475                </a>
1476                    </li>
1477                    
1478        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1479                            <a
1480                    href="https://www.vai.org/research/postdoctoral-programs/"
1481                    class="p1 menu-item-level-2"
1482                    role="menuitem"
1483                >
1484                    Postdoctoral Program
1485                </a>
1486                    </li>
1487                    
1488        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1489                            <a
1490                    href="https://www.vai.org/research/collaborations/"
1491                    class="p1 menu-item-level-2"
1492                    role="menuitem"
1493                >
1494                    Collaborations
1495                </a>
1496                    </li>
1497                    
1498        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1499                            <a
1500                    href="https://www.vai.org/research/technologies-and-tools/"
1501                    class="p1 menu-item-level-2"
1502                    role="menuitem"
1503                >
1504                    Technologies and Tools
1505                </a>
1506                    </li>
1507                    
1508        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1509                            <a
1510                    href="https://www.vai.org/graduate-school/research-internships/?tabUrl=research-internships"
1511                    class="p1 menu-item-level-2"
1512                    role="menuitem"
1513                >
1514                    Research Internships
1515                </a>
1516                    </li>
1517                    
1518        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1519                            <a
1520                    href="https://www.vai.org/research/vai-board-of-trustees-external-scientific-advisory-board/"
1521                    class="p1 menu-item-level-2"
1522                    role="menuitem"
1523                >
1524                    Research Board of Trustees & External Scientific Advisory Board
1525                </a>
1526                    </li>
1527    
1528                </ul>
1529                    </li>
1530                    
1531        <li class="relative mb-f-8 group menu-level-1" role="presentation">
1532                            <button
1533                    @click="toggleMenuItem('18133-1')"
1534                    class="text-left is-h2 is-display menu-item-level-1"
1535                    aria-expanded="false"
1536                    aria-controls="menu-18133-1"
1537                    id="button-18133-1"
1538                    @keydown.escape.prevent="closeMenuItem('18133-1')"
1539                    @keydown.enter.prevent="toggleMenuItem('18133-1')"
1540                    @keydown.space.prevent="toggleMenuItem('18133-1')"
1541                    @blur="handleBlur('18133-1', $event)"
1542                >
1543                    Graduate School
1544                                     </button>
1545
1546                <ul class="nav-dropdown"
1547                    x-collapse
1548                    x-show="openItems.includes('18133-1')"
1549                    role="group"
1550                    aria-labelledby="button-18133-1"
1551                    id="menu-18133-1"
1552                >
1553                                            
1554        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1555                            <a
1556                    href="https://www.vai.org/graduate-school/"
1557                    class="p1 menu-item-level-2"
1558                    role="menuitem"
1559                >
1560                    About the Graduate School
1561                </a>
1562                    </li>
1563                    
1564        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1565                            <a
1566                    href="https://www.vai.org/graduate-school/van-andel-institute-graduate-school-board-of-directors/"
1567                    class="p1 menu-item-level-2"
1568                    role="menuitem"
1569                >
1570                    VAI Graduate School Board of Directors
1571                </a>
1572                    </li>
1573                    
1574        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1575                            <a
1576                    href="https://www.vai.org/graduate-school/doctoral-program/"
1577                    class="p1 menu-item-level-2"
1578                    role="menuitem"
1579                >
1580                    Doctoral Program
1581                </a>
1582                    </li>
1583                    
1584        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1585                            <a
1586                    href="https://www.vai.org/graduate-school/admissions/"
1587                    class="p1 menu-item-level-2"
1588                    role="menuitem"
1589                >
1590                    Admissions
1591                </a>
1592                    </li>
1593                    
1594        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1595                            <a
1596                    href="https://www.vai.org/graduate-school/leadership-and-staff/"
1597                    class="p1 menu-item-level-2"
1598                    role="menuitem"
1599                >
1600                    Leadership and Staff
1601                </a>
1602                    </li>
1603                    
1604        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1605                            <a
1606                    href="https://www.vai.org/graduate-school/faculty/"
1607                    class="p1 menu-item-level-2"
1608                    role="menuitem"
1609                >
1610                    Faculty
1611                </a>
1612                    </li>
1613                    
1614        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1615                            <a
1616                    href="https://www.vai.org/graduate-school/student-life/?tabUrl=tab-2"
1617                    class="p1 menu-item-level-2"
1618                    role="menuitem"
1619                >
1620                    Current Students
1621                </a>
1622                    </li>
1623                    
1624        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1625                            <a
1626                    href="https://www.vai.org/graduate-school/student-life/"
1627                    class="p1 menu-item-level-2"
1628                    role="menuitem"
1629                >
1630                    Student Life
1631                </a>
1632                    </li>
1633                    
1634        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1635                            <a
1636                    href="https://www.vai.org/graduate-school/alumni-association/"
1637                    class="p1 menu-item-level-2"
1638                    role="menuitem"
1639                >
1640                    Alumni
1641                </a>
1642                    </li>
1643                    
1644        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1645                            <a
1646                    href="https://www.vai.org/graduate-school/outcome-data/"
1647                    class="p1 menu-item-level-2"
1648                    role="menuitem"
1649                >
1650                    Outcome Data
1651                </a>
1652                    </li>
1653                    
1654        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1655                            <a
1656                    href="https://www.vai.org/graduate-school/research-internships/?tabUrl=research-internships"
1657                    class="p1 menu-item-level-2"
1658                    role="menuitem"
1659                >
1660                    Research Internships
1661                </a>
1662                    </li>
1663    
1664                </ul>
1665                    </li>
1666                    
1667        <li class="relative mb-f-8 group menu-level-1" role="presentation">
1668                            <button
1669                    @click="toggleMenuItem('30228-1')"
1670                    class="text-left is-h2 is-display menu-item-level-1"
1671                    aria-expanded="false"
1672                    aria-controls="menu-30228-1"
1673                    id="button-30228-1"
1674                    @keydown.escape.prevent="closeMenuItem('30228-1')"
1675                    @keydown.enter.prevent="toggleMenuItem('30228-1')"
1676                    @keydown.space.prevent="toggleMenuItem('30228-1')"
1677                    @blur="handleBlur('30228-1', $event)"
1678                >
1679                    K-12 Education
1680                                     </button>
1681
1682                <ul class="nav-dropdown"
1683                    x-collapse
1684                    x-show="openItems.includes('30228-1')"
1685                    role="group"
1686                    aria-labelledby="button-30228-1"
1687                    id="menu-30228-1"
1688                >
1689                                            
1690        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1691                            <a
1692                    href="https://www.vai.org/k-12-education/"
1693                    class="p1 menu-item-level-2"
1694                    role="menuitem"
1695                >
1696                    About K-12 Education
1697                </a>
1698                    </li>
1699    
1700                </ul>
1701                    </li>
1702                    
1703        <li class="relative mb-f-8 group menu-level-1" role="presentation">
1704                            <button
1705                    @click="toggleMenuItem('18145-1')"
1706                    class="text-left is-h2 is-display menu-item-level-1"
1707                    aria-expanded="false"
1708                    aria-controls="menu-18145-1"
1709                    id="button-18145-1"
1710                    @keydown.escape.prevent="closeMenuItem('18145-1')"
1711                    @keydown.enter.prevent="toggleMenuItem('18145-1')"
1712                    @keydown.space.prevent="toggleMenuItem('18145-1')"
1713                    @blur="handleBlur('18145-1', $event)"
1714                >
1715                    Support Us
1716                                     </button>
1717
1718                <ul class="nav-dropdown"
1719                    x-collapse
1720                    x-show="openItems.includes('18145-1')"
1721                    role="group"
1722                    aria-labelledby="button-18145-1"
1723                    id="menu-18145-1"
1724                >
1725                                            
1726        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1727                            <a
1728                    href="https://www.vai.org/support/"
1729                    class="p1 menu-item-level-2"
1730                    role="menuitem"
1731                >
1732                    About Support
1733                </a>
1734                    </li>
1735                    
1736        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1737                            <a
1738                    href="https://www.vai.org/support/why-vai/"
1739                    class="p1 menu-item-level-2"
1740                    role="menuitem"
1741                >
1742                    Why VAI
1743                </a>
1744                    </li>
1745                    
1746        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1747                            <a
1748                    href="https://www.vai.org/support/ways-to-give/"
1749                    class="p1 menu-item-level-2"
1750                    role="menuitem"
1751                >
1752                    Ways to Give
1753                </a>
1754                    </li>
1755                    
1756        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1757                            <a
1758                    href="https://www.vai.org/support/ways-to-engage/"
1759                    class="p1 menu-item-level-2"
1760                    role="menuitem"
1761                >
1762                    Ways to Support
1763                </a>
1764                    </li>
1765                    
1766        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1767                            <a
1768                    href="https://www.vai.org/support/ways-to-engage/purple-community/"
1769                    class="p1 menu-item-level-2"
1770                    role="menuitem"
1771                >
1772                    Purple Community
1773                </a>
1774                    </li>
1775                    
1776        <li class="relative mb-f-8 group menu-level-2" role="presentation">
1777                            <a
1778                    href="https://www.vai.org/support/donor-stories/"
1779                    class="p1 menu-item-level-2"
1780                    role="menuitem"
1781                >
1782                    Donor Stories
1783                </a>
1784                    </li>
1785    
1786                </ul>
1787                    </li>
1788    
1789            
1790        </ul>
1791    </nav>
1792        <nav
1793		class="relative flex text-pageText secondary-nav"
1794	>
1795    <ul class="relative flex items-center justify-end ">
1796		<li
1797            class="relative group menu-level-1" role="presentation"
1798            >
1799                            <a
1800                    href="https://support.vai.org/campaign/821456/donate"
1801                    target="_blank"
1802                    class="text-left is-display donate-button in-header"
1803                    aria-expanded="false"
1804                >
1805                    Donate
1806                </a>
1807			            </li>
1808                                                <li
1809                        class="relative group menu-level-1"
1810                        role="presentation"
1811                    >
1812                        <a 
1813                            href="https://www.vai.org/news/"
1814                            class="nav-link text-pageBg cta in-header">
1815                            News
1816                        </a>
1817                    </li>
1818                                                                <li
1819                        class="relative group menu-level-1"
1820                        role="presentation"
1821                    >
1822                        <a 
1823                            href="https://www.vai.org/vai-events/all/"
1824                            class="nav-link text-pageBg cta in-header">
1825                            Events
1826                        </a>
1827                    </li>
1828                                                                <li
1829                        class="relative group menu-level-1"
1830                        role="presentation"
1831                    >
1832                        <a 
1833                            href="https://www.vai.org/contact/"
1834                            class="nav-link text-pageBg cta in-header">
1835                            Contact
1836                        </a>
1837                    </li>
1838                                        <li
1839            class="relative group menu-level-1" role="presentation"
1840            >
1841			<button 
1842                x-on:click="showSubscribeModal = true"
1843                type="button"
1844				id="subscribe-desktop"
1845				class="nav-link text-pageBg cta in-header">
1846				Subscribe
1847			</button>
1848            </li>
1849            </ul>
1850		</nav>
1851</div>	<button 
1852    x-on:click="showDesktopMenu = ! showDesktopMenu" 
1853    x-init="$watch('showDesktopMenu', value => {
1854        document.body.classList.toggle('overflow-hidden', value);
1855        document.body.classList.toggle('overflow-auto', !value);
1856    });"
1857    class="absolute right-0 block w-16 h-16 transition-colors duration-300 md:relative sm:hidden nav-trigger nav-trigger--menu z-70"
1858>
1859	<span class="lines">
1860		<span class="line"></span>
1861		<span class="line"></span>
1862		<span class="line"></span>
1863		<span class="line"></span>
1864	</span>
1865	<span class="sr-only">Open Desktop Menu</span>
1866</button>	<button 
1867    class="pt-f-2 md:pt-0 z-80"
1868    id="search-modal-icon"
1869    x-on:click="showSearchModal = true; $nextTick(() => { $refs.searchInput.focus(); });"
1870    x-init="$watch('showSearchModal', value => {
1871        document.body.classList.toggle('overflow-hidden', value);
1872        document.body.classList.toggle('overflow-auto', !value);
1873    });"
1874>
1875	<span class="sr-only">Toggle Search</span>
1876	<svg class="w-6 h-auto" width="24" height="24" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1877		<path id="vai-search" class="fill-white md:fill-current" d="M9.5 3C11.2239 3 12.8772 3.68482 14.0962 4.90381C15.3152 6.12279 16 7.77609 16 9.5C16 11.11 15.41 12.59 14.44 13.73L14.71 14H15.5L20.5 19L19 20.5L14 15.5V14.71L13.73 14.44C12.59 15.41 11.11 16 9.5 16C7.77609 16 6.12279 15.3152 4.90381 14.0962C3.68482 12.8772 3 11.2239 3 9.5C3 7.77609 3.68482 6.12279 4.90381 4.90381C6.12279 3.68482 7.77609 3 9.5 3ZM9.5 5C7 5 5 7 5 9.5C5 12 7 14 9.5 14C12 14 14 12 14 9.5C14 7 12 5 9.5 5Z"/>
1878	</svg>
1879</button>    <div x-cloak x-show="showSubscribeModal" x-on:keydown.escape.prevent.stop="showSubscribeModal = false" role="dialog" aria-modal="true" class="fixed inset-0 bg-black pointer-events-auto z-90">
1880	<div class="absolute top-0 flex justify-end w-full md:px-f-9 md:py-f-6">
1881		<button 
1882    x-on:click="showSubscribeModal = ! showSubscribeModal"
1883    x-init="$watch('showSubscribeModal', value => {
1884        document.body.classList.toggle('overflow-hidden', value);
1885        document.body.classList.toggle('overflow-auto', !value);
1886    });"
1887    class="w-16 h-16 transition-colors duration-300 bg-black sm:block nav-trigger nav-trigger--subscribe z-80 is-open"
1888>
1889	<span class="lines">
1890		<span class="line"></span>
1891		<span class="line"></span>
1892		<span class="line"></span>
1893		<span class="line"></span>
1894	</span>
1895	<span class="sr-only">
1895Close Modal</span>
1896</button>
1897	</div>
1898
1899	<!-- Overlay -->
1900	<div x-show="showSubscribeModal" x-transition.opacity class="fixed inset-0 bg-black bg-opacity-50"></div>
1901
1902	<!-- Panel -->
1903	<div x-show="showSubscribeModal" x-transition x-on:click="showSubscribeModal = false" class="relative flex flex-col items-center justify-center min-h-screen p-4">
1904		<h2 class="font-serif text-2xl leading-snug text-white mb-f-14">Get the latest stories right in your inbox.</h2>
1905		<div x-on:click.stop x-trap.noscroll.inert="showSubscribeModal" class="relative w-full max-w-6xl overflow-y-auto bg-white border border-black rounded-lg px-f-8 pb-f-14 pt-f-10">
1906			<!-- FULLY INLINED STATE WITH DIRECT DOM MANIPULATION -->
1907			<div x-data="{
1908				validationError: {},
1909				isSubmitting: false,
1910				submit: function() {
1911					// Prevent double submissions
1912					if (this.isSubmitting) return;
1913					this.isSubmitting = true;
1914					
1915					var formElement = this.$refs.form;
1916					var successElement = this.$refs.successMessage;
1917					var submitBtn = this.$refs.submitBtnContainer;
1918					var actionUrl = formElement.action || '';
1919					var methodType = formElement.method || 'POST';
1920					var formData = new FormData(formElement);
1921					var component = this;
1922
1923					if (typeof grecaptcha !== 'undefined') {
1924						grecaptcha.ready(function() {
1925							grecaptcha.execute('6LdhG-YpAAAAACLjgnQ42Bj4dtqYXSJm7H-rtRjr', { action: 'submit' }).then(function(token) {
1926								// Use .set() to ensure we overwrite rather than duplicate the token
1927								formData.set('g-recaptcha-response', token);
1928								
1929								fetch(actionUrl, { method: methodType, body: formData })
1930									.then(function(response) {
1931										return response.json();
1932									})
1933									.then(function(data) {
1934										if (data && data.is_valid) {
1935											// DIRECTLY AND FORCEFULLY UPDATE THE DOM 
1936											formElement.style.setProperty('display', 'none', 'important');
1937											successElement.style.setProperty('display', 'block', 'important');
1938											
1939											// Hide the button explicitly in case the browser kicked it out of the form tag
1940											if (submitBtn) {
1941												submitBtn.style.setProperty('display', 'none', 'important');
1942											}
1943											
1944											formElement.reset();
1945										} else if (data && data.validation_messages) {
1946											var err = {};
1947											Object.keys(data.validation_messages).forEach(function(key) {
1948												err['input_' + key] = data.validation_messages[key];
1949											});
1950											component.validationError = err;
1951										}
1952										component.isSubmitting = false;
1953									})
1954									.catch(function(err) {
1955										console.log('Submission error:', err);
1956										component.isSubmitting = false;
1957									});
1958							});
1959						});
1960					} else {
1961						console.log('reCAPTCHA failed to load.');
1962						component.isSubmitting = false;
1963					}
1964				}
1965			}">
1966				<form action="https://forms.vai.org/wp-json/gf/v2/forms/103/submissions" x-ref="form" @submit.prevent="submit" method="post">
1967					<div :class="{'has-error' : validationError['input_3']}" class="flex flex-col justify-between w-full lg:flex-row">
1968						<div class="flex flex-col flex-1 px-f-4" :class="{'has-error': validationError['input_1']}">
1969							<input class="leading-relaxed text-black border-b-2 border-black text-body" id="input_1" type="text" name="input_1">
1970							<label class="leading-relaxed text-left text-darkgray text-body pt-f-3" for="input_1">First Name</label>
1971						</div>
1972						<div class="flex flex-col flex-1 px-f-4" :class="{'has-error': validationError['input_2']}">
1973							<input class="leading-relaxed text-black border-b-2 border-black text-body" id="input_2" type="text" name="input_2">
1974							<label class="leading-relaxed text-left text-darkgray text-body pt-f-3" for="input_2">Last Name</label>
1975						</div>
1976						<div class="flex flex-col flex-1 px-f-4" :class="{'has-error': validationError['input_4']}">
1977							<input class="leading-relaxed text-black border-b-2 border-black text-body" id="input_4" type="email" name="input_4" required>
1978							<label class="leading-relaxed text-left text-darkgray text-body pt-f-3" for="input_4">Email Address</label>
1979						</div>
1980					</div>
1981					</div> <!-- Because of this extra div, the browser likely pushes the button container outside the form tag -->
1982					<div class="flex flex-row justify-center pt-f-14" x-ref="submitBtnContainer">
1983						<button class="btn is-blue" type="submit">Sign Me Up</button>
1984					</div>
1985				</form>
1986				
1987				<!-- FORCED SUCCESS MESSAGE VISIBILITY -->
1988				<div x-ref="successMessage" id="header-form-thank-you" class="font-sans text-center text-black text-body" style="display: none !important;">
1989					Thank you for signing up to our newsletter!
1990				</div>
1991			</div>
1992		</div>
1993	</div>
1994</div>
vendor: 62 bytes, lines 1994-1996
1994
1995
1996<script src="https://www.google.com/recaptcha/api.js?render=
19966LdhG-YpAAAAACLjgnQ42Bj4dtqYXSJm7H-rtRjr
vendor: 35 bytes, line 1996
1996" async defer></script>            
1996<div 
1997    x-cloak 
1998    x-on:keydown.escape.prevent.stop="showSearchModal = false" 
1999    role="dialog" 
2000    aria-modal="true" 
2001    id="search-modal"
2002    class="fixed inset-0 transform search-modal z-90" 
2003    :class="showSearchModal ? 'is-open' : 'translate-y-0'" 
2004>
2005	<div class="absolute top-0 w-full ">
2006		<div class="flex items-center justify-between bg-black md:px-f-9 py-f-2 md:py-f-6">
2007			<div class="w-full pr-f-2 md:pr-f-10 z-90">
2008				<form role="search" method="get" id="searchform" class="searchform" action="https://vai.org">
2009					<input x-ref="searchInput" id="search-modal-input" class="w-full font-serif leading-tight text-white bg-black z-90 text-body md:text-xl p-f-5 caret-white" type="text" value="" name="s" id="s" placeholder="Search Van Andel Institute" data-rlvlive="true" data-rlvparentel="#rlvlive" data-rlvconfig="default"/>
2010					<input class="sr-only" type="submit" id="searchsubmit"/>
2011                     <div id="rlvlive"></div>
2012 					<input name="searchblogs" type="hidden" value="1,2,4">
2013                  </form>
2014			</div>
2015			<button 
2016    x-on:click="showSearchModal = ! showSearchModal" 
2017    class="flex-shrink-0 block w-16 h-16 transition-colors duration-300 bg-black nav-trigger nav-trigger--subscribe z-80 is-open"
2018>
2019	<span class="lines">
2020		<span class="line"></span>
2021		<span class="line"></span>
2022		<span class="line"></span>
2023		<span class="line"></span>
2024	</span>
2025	<span class="sr-only">
2025Close Modal</span>
2026</button>
2027		</div>
2028	</div>
2029</div>    
2030	<div :class="showSearchModal ? 'visible opacity-70' : 'opacity-0 invisible'" class="fixed inset-0 z-50 w-full h-full transition-opacity duration-300 ease-out delay-500 bg-black"></div></header>
2031		<main class="relative z-auto data-scroll-container">
2032				
2033                    
2034<section class="hero--sm md:px-f-5 overflow-hidden relative flex flex-col justify-center sm:min-h-600">
2035	<picture>
2036		<source class="absolute inset-0 w-full h-full object-cover object-center z-0"
2037			srcset="https://www.vai.org/wp-content/uploads/2022/09/neuronsbanner.webp"
2038			type="image/webp" />
2039		<img class="absolute inset-0 w-full h-full object-cover object-center"
2040			alt=""
2041			data-src="https://www.vai.org/wp-content/uploads/2022/09/neuronsbanner.jpg"
2042			srcset="https://www.vai.org/wp-content/uploads/2022/09/neuronsbanner-800x0-c-default.jpg 800w, https://www.vai.org/wp-content/uploads/2022/09/neuronsbanner-1000x0-c-default.jpg 1000w, https://www.vai.org/wp-content/uploads/2022/09/neuronsbanner-1600x0-c-default.jpg 1600w"
2043			type="image/jpeg" />
2044	</picture>
2045	<div class="w-full max-w-9xl mx-auto px-f-5 md:grid-cols-8 relative z-10">
2046		<div class="md:col-start-1 md:col-span-8">
2047			<nav class="breadcrumbs text-sm font-mono tracking-extraWide uppercase animate delay-100" data-js-animate><span><span><a href="https://www.vai.org/news/">News</a></span></span></nav>
2048							<h1 class="font-display text-2xl sm:text-4xl md:text-5xl text-bold leading-base tracking-wide mt-f-4 uppercase animate delay-200"
2049					data-js-animate>
2050					Publications
2051				</h1>
2052								</div>
2053	</div>
2054</section>
2055        
2056<section class="primary-callout relative px-f-5 md:px-f-10 text-black bg-white ">
2057		<div class="md:grid md:grid-cols-8 max-w-9xl mx-auto relative z-10 py-f-9 md:py-f-14">
2058		<div class="md:col-start-2 md:col-span-6 flex flex-col items-center md:-mx-f-12">
2059										<p class="font-serif text-center text-xl px-f-1 animate delay-200 md:w-3/4" data-js-animate>
2060					Explore Science and Community Stories Through VAI’s Publications
2061				</p>
2062										<div class="fc primary-callout__copy font-sans text-body leading-relaxed mt-f-4 text-center md:px-f-5 animate delay-300 wysiwyg wysiwyg--200"
2063					data-js-animate>
2064					<p>The Publications page serves as a hub for research news, donor stories, signature events and more. These publications reflect our commitment to advancing knowledge in <a href="https://www.vai.org/research/research-areas/cancer/">cancer</a>, neuroscience, <a href="https://www.vai.org/research/research-areas/epigenetics-in-health-and-disease/">epigenetics</a> and other <a href="https://www.vai.org/research/research-areas/">research areas</a> — showcasing the latest news and discoveries from VAI labs. It also features stories from the VAI community, highlighting sponsors, families, individuals and philanthropists who share why they support the Institute. By showcasing VAI’s work alongside the stories of those who help make it happen, we foster a collaborative, powerful and passionate community — and shape the future for the better.</p>
2065<p><em>Highlights of Hope</em> is VAI’s donor newsletter, published twice a year. It features the latest in research and education, while also spotlighting stories from the VAI community and the Institute’s <a href="https://www.vai.org/vai-events/?tabUrl=philanthropic-events">signature events</a>. The <em>Annual Report</em> covers VAI’s achievements from each calendar year, highlighting science, education and philanthropic efforts. </p>
2066
2067				</div>
2068											</div>
2069	</div>
2070</section>
2071        <section class="text-black bg-white">
2072	<div id=""
2073		class="max-w-9xl mx-auto px-f-5 md:grid md:grid-cols-8 py-f-9 md:py-f-14">
2074		<div class="md:col-start-2 md:col-span-6 md:px-f-5 stack--md">
2075							<div>
2076										<div class="wysiwyg wysiwyg--200">
2077						<h3>2026 HIGHLIGHTS OF HOPE | SPRING/SUMMER ISSUE</h3>
2078<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;" data-page-width="480" data-page-height="640"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src="https://www.yumpu.com/en/embed/view/J9LBngxdGN71IXmz" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
2079
2080					</div>
2081				</div>
2082							<div>
2083											<div class="section-title mb-f-5 md:mb-f-9 md:flex md:justify-between md:items-center">
2084							<h3 class="font-display font-bold uppercase leading-none tracking-widest pb-f-2 md:pb-0 md:pr-f-5 border-b border-black border-solid md:border-0">
2085								Featured
2086							</h3>
2087							<div class="primary-title-line flex-grow bg-transparent hidden md:inline-block md:bg-black"></div>
2088						</div>
2089										<div class="wysiwyg wysiwyg--200">
2090						<p><style>.embed-container { position: relative; padding-bottom:56.25%; height:0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}</style>
2091</p>
2092<div style="position: relative; padding-bottom: 33.25%; height: 0; overflow: hidden; max-width: 100%;" data-page-width="480" data-page-height="640"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src="https://www.yumpu.com/en/embed/view/PynRI8lJbM2OTxVS" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
2093
2094					</div>
2095				</div>
2096					</div>
2097	</div>
2098</section>
2099        <section  class="bg-white text-black scroll-m-14 pt-f-5 pb-f-5">
2100	<div id="" class="max-w-9xl mx-auto px-f-5 md:grid md:grid-cols-8">
2101		<div class="md:col-start-2 md:col-span-6 md:px-f-5">
2102						<h3 class="w-full font-serif text-xl leading-snug text-black">
2103				Past Publications
2104			</h3>
2105						<div x-data="{ active:   null  }" class="pt-f-5 accordion-container ">
2106														<div x-data="{id: 1,get expanded() {return this.active === this.id}, set expanded(value) {this.active = value ? this.id : null},}" role="region" class="border-t border-solid border-white">
2107						<button x-on:click="expanded = !expanded" :aria-expanded="expanded" class="flex items-center justify-start w-full py-f-5 border-t border-l-0 border-r-0 border-b-0 border-solid border-black">
2108							<span x-show="expanded" aria-hidden="true" class="flex-none">
2109								<img class="transform rotate-180" src="/wp-content/themes/timberland/theme/assets/images/icons/minus-icon.svg" alt="carat up">
2110							</span>
2111							<span x-show="!expanded" aria-hidden="true" class="flex-none">
2112								<img src="/wp-content/themes/timberland/theme/assets/images/icons/plus-icon.svg" alt="carat down">
2113							</span>
2114							<span class=" font-sans font-bold text-lg md:text-body leading-relaxed text-blue text-left md:w-full pl-f-5">2025</span>
2115						</button>
2116						<div x-show="expanded" x-collapse>
2117							<div class="pb-f-5 text-base text-black leading-relaxed accordion-wysiwyg wysiwyg wysiwyg--200"><div style="position: relative; overflow: hidden; height: 458px; max-width: 100%;" data-page-width="480" data-page-height="640"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src="https://www.yumpu.com/en/embed/view/KVJNdHSIpvaAQzB4" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
2118</div>
2119						</div>
2120					</div>
2121														<div x-data="{id: 2,get expanded() {return this.active === this.id}, set expanded(value) {this.active = value ? this.id : null},}" role="region" class="border-t border-solid border-white">
2122						<button x-on:click="expanded = !expanded" :aria-expanded="expanded" class="flex items-center justify-start w-full py-f-5 border-t border-l-0 border-r-0 border-b-0 border-solid border-black">
2123							<span x-show="expanded" aria-hidden="true" class="flex-none">
2124								<img class="transform rotate-180" src="/wp-content/themes/timberland/theme/assets/images/icons/minus-icon.svg" alt="carat up">
2125							</span>
2126							<span x-show="!expanded" aria-hidden="true" class="flex-none">
2127								<img src="/wp-content/themes/timberland/theme/assets/images/icons/plus-icon.svg" alt="carat down">
2128							</span>
2129							<span class=" font-sans font-bold text-lg md:text-body leading-relaxed text-blue text-left md:w-full pl-f-5">2024</span>
2130						</button>
2131						<div x-show="expanded" x-collapse>
2132							<div class="pb-f-5 text-base text-black leading-relaxed accordion-wysiwyg wysiwyg wysiwyg--200"><div style="position: relative; overflow: hidden; height: 458px; max-width: 100%;" data-page-width="480" data-page-height="640"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src="https://www.yumpu.com/en/embed/view/t5vXejWgDOdZJPrC" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
2133</div>
2134						</div>
2135					</div>
2136														<div x-data="{id: 3,get expanded() {return this.active === this.id}, set expanded(value) {this.active = value ? this.id : null},}" role="region" class="border-t border-solid border-white">
2137						<button x-on:click="expanded = !expanded" :aria-expanded="expanded" class="flex items-center justify-start w-full py-f-5 border-t border-l-0 border-r-0 border-b-0 border-solid border-black">
2138							<span x-show="expanded" aria-hidden="true" class="flex-none">
2139								<img class="transform rotate-180" src="/wp-content/themes/timberland/theme/assets/images/icons/minus-icon.svg" alt="carat up">
2140							</span>
2141							<span x-show="!expanded" aria-hidden="true" class="flex-none">
2142								<img src="/wp-content/themes/timberland/theme/assets/images/icons/plus-icon.svg" alt="carat down">
2143							</span>
2144							<span class=" font-sans font-bold text-lg md:text-body leading-relaxed text-blue text-left md:w-full pl-f-5">2023</span>
2145						</button>
2146						<div x-show="expanded" x-collapse>
2147							<div class="pb-f-5 text-base text-black leading-relaxed accordion-wysiwyg wysiwyg wysiwyg--200"><div style="position: relative; padding-bottom: 33.25%; height: 0; overflow: hidden; max-width: 100%;" data-page-width="480" data-page-height="640"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src="https://www.yumpu.com/en/embed/view/t8U75gjLzZcYSMn0" frameborder="0" allowfullscreen="allowfullscreen"><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start"></span></iframe></div>
2148</div>
2149						</div>
2150					</div>
2151														<div x-data="{id: 4,get expanded() {return this.active === this.id}, set expanded(value) {this.active = value ? this.id : null},}" role="region" class="border-t border-solid border-white">
2152						<button x-on:click="expanded = !expanded" :aria-expanded="expanded" class="flex items-center justify-start w-full py-f-5 border-t border-l-0 border-r-0 border-b-0 border-solid border-black">
2153							<span x-show="expanded" aria-hidden="true" class="flex-none">
2154								<img class="transform rotate-180" src="/wp-content/themes/timberland/theme/assets/images/icons/minus-icon.svg" alt="carat up">
2155							</span>
2156							<span x-show="!expanded" aria-hidden="true" class="flex-none">
2157								<img src="/wp-content/themes/timberland/theme/assets/images/icons/plus-icon.svg" alt="carat down">
2158							</span>
2159							<span class=" font-sans font-bold text-lg md:text-body leading-relaxed text-blue text-left md:w-full pl-f-5">2022</span>
2160						</button>
2161						<div x-show="expanded" x-collapse>
2162							<div class="pb-f-5 text-base text-black leading-relaxed accordion-wysiwyg wysiwyg wysiwyg--200"><p><style>.embed-container { position: relative; padding-bottom:33.25%; height:0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}</style>
2163</p>
2164<div id="ypembedcontainer" class="embed-container" data-page-width="480" data-page-height="640"><iframe src="https://www.yumpu.com/en/embed/view/uUy3DwK25ibvhZme" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
2165<p>
2165<script src='https://players.yumpu.com/modules/embed/yp_r_iframe.js' ></script>
2165</p>
2166</div>
2167						</div>
2168					</div>
2169														<div x-data="{id: 5,get expanded() {return this.active === this.id}, set expanded(value) {this.active = value ? this.id : null},}" role="region" class="border-t border-solid border-white">
2170						<button x-on:click="expanded = !expanded" :aria-expanded="expanded" class="flex items-center justify-start w-full py-f-5 border-t border-l-0 border-r-0 border-b-0 border-solid border-black">
2171							<span x-show="expanded" aria-hidden="true" class="flex-none">
2172								<img class="transform rotate-180" src="/wp-content/themes/timberland/theme/assets/images/icons/minus-icon.svg" alt="carat up">
2173							</span>
2174							<span x-show="!expanded" aria-hidden="true" class="flex-none">
2175								<img src="/wp-content/themes/timberland/theme/assets/images/icons/plus-icon.svg" alt="carat down">
2176							</span>
2177							<span class=" font-sans font-bold text-lg md:text-body leading-relaxed text-blue text-left md:w-full pl-f-5">2021</span>
2178						</button>
2179						<div x-show="expanded" x-collapse>
2180							<div class="pb-f-5 text-base text-black leading-relaxed accordion-wysiwyg wysiwyg wysiwyg--200"><p><style>.embed-container { position: relative; padding-bottom:33.25%; height:0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}</style>
2181</p>
2182<div id="ypembedcontainer" class="embed-container" data-page-width="480" data-page-height="640"><iframe src="https://www.yumpu.com/en/embed/view/ke5f4lU6XVLKPCwg" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
2183<p>
2183<script src='https://players.yumpu.com/modules/embed/yp_r_iframe.js' ></script>
2183</p>
2184</div>
2185						</div>
2186					</div>
2187														<div x-data="{id: 6,get expanded() {return this.active === this.id}, set expanded(value) {this.active = value ? this.id : null},}" role="region" class="border-t border-solid border-white">
2188						<button x-on:click="expanded = !expanded" :aria-expanded="expanded" class="flex items-center justify-start w-full py-f-5 border-t border-l-0 border-r-0 border-b-0 border-solid border-black">
2189							<span x-show="expanded" aria-hidden="true" class="flex-none">
2190								<img class="transform rotate-180" src="/wp-content/themes/timberland/theme/assets/images/icons/minus-icon.svg" alt="carat up">
2191							</span>
2192							<span x-show="!expanded" aria-hidden="true" class="flex-none">
2193								<img src="/wp-content/themes/timberland/theme/assets/images/icons/plus-icon.svg" alt="carat down">
2194							</span>
2195							<span class=" font-sans font-bold text-lg md:text-body leading-relaxed text-blue text-left md:w-full pl-f-5">2020 and earlier</span>
2196						</button>
2197						<div x-show="expanded" x-collapse>
2198							<div class="pb-f-5 text-base text-black leading-relaxed accordion-wysiwyg wysiwyg wysiwyg--200"><p><style>.embed-container { position: relative; padding-bottom:33.25%; height:0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}</style>
2199</p>
2200<div id="ypembedcontainer" class="embed-container" data-page-width="480" data-page-height="640"><iframe src="https://www.yumpu.com/en/embed/view/GvtULo6ROrN9DcX2" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
2201<p>
2201<script src='https://players.yumpu.com/modules/embed/yp_r_iframe.js' ></script>
2201</p>
2202</div>
2203						</div>
2204					</div>
2205							</div>
2206		</div>
2207	</div>
2208</section>
2209            
2210    
2211    		</main>
2212
2213					<footer id="footer" class="footer text-white px-5 py-f-9 md:py-f-14 bg-black">
2214	<div class="max-w-9xl mx-auto px-f-5">
2215		<div class="footer-top md:grid md:grid-cols-8 sm:pb-f-9">
2216			<div class="md:col-start-1 md:col-span-8 md:px-f-5 lg:flex lg:justify-between">
2217				<div class="grid-item col-start-2 col-span-3">
2218					<h2 class="font-serif leading-snug text-2xl text-center sm:text-left mb-f-4">
2219							Stay Informed
2220						
2221					</h2>
2222						<p class="font-sans text-body leading-relaxed mb-f-9 md:mb-0 pl-f-1.5 sm:pl-0 text-center sm:text-left">
2223							Fill out the form below to stay up to date with the Institute,
2224							<br class="hidden lg:block" />including research breakthroughs, exciting events and more!
2225						</p>
2226				</div>
2227					<div class="bg-vai-blue grid-item md:w-1/2 lg:w-1/3" x-data="wpForm()">
2228	<form class="mt-f-5 mb-f-10 lg:ml-f-5" form action="https://forms.vai.org/wp-json/gf/v2/forms/102/submissions" x-ref="form" @submit.prevent="submit" method="post">
2229		<div :class="{'has-error': validationError['input_5']}">
2230			<div :class="{'hidden': isSuccess }" class="flex flex-col md:flex-row">
2231				<label for="input_5" class="sr-only">Email Address</label>
2232				<input id="input_5" name="input_5" class="form-input rounded-lg md:rounded-l-lg md:rounded-r-none px-f-7 py-f-4 bg-darkdarkgray w-full" type="text" placeholder="Email Address">
2233				<button class="rounded-lg md:rounded-r-lg md:rounded-l-none bg-blue mt-f-2 md:mt-0 px-f-7 py-f-4 md:px-f-12" type="submit" value="Submit" name="Subscribe" id="" class="">Submit</button>
2234			</div>
2235			<div class="form-input-hint" x-show="validationError['input_5']" x-text="validationError['input_5']" x-cloak></div>
2236			<div id="footer-form-thank-you" class="font-sans text-white text-body" x-show="isSuccess" x-cloak>
2237				Thank you for signing up to our newsletter!
2238			</div>
2239		</div>
2240	</form>
2241</div>
2242			</div>
2243		</div>
2244		<div class="md:grid md:grid-cols-8 md:px-f-5">
2245			<div class="grid-item md:col-start-1 col-span-8 flex flex-col sm:flex-row justify-between sm:py-f-9 sm:border-b border-t border-solid border-darkgray">
2246				<div class="social-nav is-footer order-3 sm:order-1 sm:w-1/2 lg:w-1/4 pb-f-7 sm:pb-0">
2247					<div class="font-sans flex sm:flex-col justify-center sm:justify-between grid-item sm:col-start-2 sm:col-span-3 sm:order-1 h-full">
2248						<img class="hidden sm:block sm:w-60"
2249							src="/wp-content/themes/timberland/theme/assets/images/vai-logo.svg"
2250							alt="Van Andel Institute" />
2251						<ul class="flex">
2252																	<li class="list-item">
2253										<a href="https://www.facebook.com/VanAndelInstitute/" target="_blank" class="p2 p2--lh">
2254											<span class="sr-only">Facebook</span>
2255											<img alt=""
2256												class="w-8"
2257												src="/wp-content/themes/timberland/theme/assets/images/icons/new-facebook.png" />
2258										</a>
2259									</li>
2260																	<li class="list-item">
2261										<a href="https://bsky.app/profile/vai.org" target="_blank" class="p2 p2--lh">
2262											<span class="sr-only">Bluesky</span>
2263											<img alt=""
2264												class="w-8"
2265												src="/wp-content/themes/timberland/theme/assets/images/icons/new-bluesky.png" />
2266										</a>
2267									</li>
2268																	<li class="list-item">
2269										<a href="https://x.com/VAInstitute/" target="_blank" class="p2 p2--lh">
2270											<span class="sr-only">Twitter</span>
2271											<img alt=""
2272												class="w-8"
2273												src="/wp-content/themes/timberland/theme/assets/images/icons/new-twitter.png" />
2274										</a>
2275									</li>
2276																	<li class="list-item">
2277										<a href="https://www.youtube.com/c/vanandelinstitute" target="_blank" class="p2 p2--lh">
2278											<span class="sr-only">Youtube</span>
2279											<img alt=""
2280												class="w-8"
2281												src="/wp-content/themes/timberland/theme/assets/images/icons/new-youtube.png" />
2282										</a>
2283									</li>
2284																	<li class="list-item">
2285										<a href="https://www.linkedin.com/company/van-andel-institute/" target="_blank" class="p2 p2--lh">
2286											<span class="sr-only">Linkedin</span>
2287											<img alt=""
2288												class="w-8"
2289												src="/wp-content/themes/timberland/theme/assets/images/icons/new-linkedin.png" />
2290										</a>
2291									</li>
2292																	<li class="list-item">
2293										<a href="https://www.instagram.com/vainstitute/" target="_blank" class="p2 p2--lh">
2294											<span class="sr-only">Instagram</span>
2295											<img alt=""
2296												class="w-8"
2297												src="/wp-content/themes/timberland/theme/assets/images/icons/new-instagram.png" />
2298										</a>
2299									</li>
2300														</ul>
2301					</div>
2302				</div>
2303
2304				<div class="footer-nav sm:hidden md:w-3/8 sm:order-2 lg:block">
2305					<ul class="flex justify-between flex-wrap grid-item sm:col-start-5 col-span-3">
2306													<li class="flex-auto w-1/2"><a href="https://support.vai.org/campaign/821456/donate" class="p1 p1--lh">Donate</a></li>
2307													<li class="flex-auto w-1/2"><a href="https://www.vai.org/mandatory-disclosures/" class="p1 p1--lh">Mandatory Disclosures</a></li>
2308													<li class="flex-auto w-1/2"><a href="https://www.vai.org/careers/" class="p1 p1--lh">Careers</a></li>
2309													<li class="flex-auto w-1/2"><a href="https://www.vai.org/intranet/" class="p1 p1--lh">Intranet</a></li>
2310													<li class="flex-auto w-1/2"><a href="https://www.vai.org/for-suppliers/" class="p1 p1--lh">For Suppliers</a></li>
2311													<li class="flex-auto w-1/2"><a href="https://secure.ethicspoint.com/domain/media/en/gui/25544/index.html" class="p1 p1--lh">EthicsPoint</a></li>
2312											</ul>
2313				</div>
2314
2315				<div class="sm:order-3 contact-nav grid-item col-start-9 col-span-2 sm:-ml-14 sm::block">
2316
2317						<ul class="">
2318							<li class="list-item">
2319								<a href="https://goo.gl/maps/nNR7gG9KhxXueL7i6" target="_blank" class="p1 p1--lh">
2320									<svg class=""
2321										width="24"
2322										height="24"
2323										viewbox="0 0 24 24"
2324										fill="none"
2325										xmlns="http://www.w3.org/2000/svg"
2326										alt="Map Pin">
2327										<path d="M12 11C11.337 11 10.7011 10.7366 10.2322 10.2678C9.76339 9.79893 9.5 9.16304 9.5 8.5C9.5 7.83696 9.76339 7.20107 10.2322 6.73223C10.7011 6.26339 11.337 6 12 6C12.663 6 13.2989 6.26339 13.7678 6.73223C14.2366 7.20107 14.5 7.83696 14.5 8.5C14.5 8.8283 14.4353 9.15339 14.3097 9.45671C14.1841 9.76002 13.9999 10.0356 13.7678 10.2678C13.5356 10.4999 13.26 10.6841 12.9567 10.8097C12.6534 10.9353 12.3283 11 12 11V11ZM12 1.5C10.1435 1.5 8.36301 2.2375 7.05025 3.55025C5.7375 4.86301 5 6.64348 5 8.5C5 13.75 12 21.5 12 21.5C12 21.5 19 13.75 19 8.5C19 6.64348 18.2625 4.86301 16.9497 3.55025C15.637 2.2375 13.8565 1.5 12 1.5V1.5Z"
2328											fill="currentColor" />
2329									</svg>
2330									<span>333 Bostwick Ave. NE<br />
2331Grand Rapids, MI 49503</span>
2332								</a>
2333							</li>
2334															<li class="list-item">
2335									<a href="tel:616.234.5000" class="p1 p1--lh">
2336										<svg width="18"
2337											height="18"
2338											viewbox="0 0 18 18"
2339											fill="none"
2340											xmlns="http://www.w3.org/2000/svg"
2341											alt="Phone">
2342											<path d="M3.62 7.79C5.06 10.62 7.38 12.94 10.21 14.38L12.41 12.18C12.69 11.9 13.08 11.82 13.43 11.93C14.55 12.3 15.75 12.5 17 12.5C17.2652 12.5 17.5196 12.6054 17.7071 12.7929C17.8946 12.9804 18 13.2348 18 13.5V17C18 17.2652 17.8946 17.5196 17.7071 17.7071C17.5196 17.8946 17.2652 18 17 18C12.4913 18 8.1673 16.2089 4.97918 13.0208C1.79107 9.8327 0 5.50868 0 1C0 0.734784 0.105357 0.48043 0.292893 0.292893C0.48043 0.105357 0.734784 0 1 0H4.5C4.76522 0 5.01957 0.105357 5.20711 0.292893C5.39464 0.48043 5.5 0.734784 5.5 1C5.5 2.25 5.7 3.45 6.07 4.57C6.18 4.92 6.1 5.31 5.82 5.59L3.62 7.79Z"
2343												fill="currentColor" />
2344										</svg>
2345										<span>616.234.5000</span>
2346									</a>
2347								</li>
2348																						<li class="list-item">
2349									<a href="tel:616.234.5001" class="p1 p1--lh">
2350										<svg width="24"
2351											height="24"
2352											viewbox="0 0 24 24"
2353											fill="none"
2354											xmlns="http://www.w3.org/2000/svg"
2355											alt="Fax Machine">
2356											<path d="M11 6H16V8H11V6ZM8 9V3H19V9C19.7956 9 20.5587 9.31607 21.1213 9.87868C21.6839 10.4413 22 11.2044 22 12V18H19V21H8V18H7V9H8ZM10 5V9H17V5H10ZM10 15V19H17V15H10ZM19 11C18.7348 11 18.4804 11.1054 18.2929 11.2929C18.1054 11.4804 18 11.7348 18 12C18 12.2652 18.1054 12.5196 18.2929 12.7071C18.4804 12.8946 18.7348 13 19 13C19.2652 13 19.5196 12.8946 19.7071 12.7071C19.8946 12.5196 20 12.2652 20 12C20 11.7348 19.8946 11.4804 19.7071 11.2929C19.5196 11.1054 19.2652 11 19 11ZM4 9H5C5.26522 9 5.51957 9.10536 5.70711 9.29289C5.89464 9.48043 6 9.73478 6 10V17C6 17.2652 5.89464 17.5196 5.70711 17.7071C5.51957 17.8946 5.26522 18 5 18H4C3.46957 18 2.96086 17.7893 2.58579 17.4142C2.21071 17.0391 2 16.5304 2 16V11C2 10.4696 2.21071 9.96086 2.58579 9.58579C2.96086 9.21071 3.46957 9 4 9V9Z"
2357												fill="currentColor" />
2358										</svg>
2359										<span>616.234.5001</span>
2360									</a>
2361								</li>
2362																						<li class="list-item">
2363									<a href="/cdn-cgi/l/email-protection#751c1b131a3503141c5b1a0712" class="p1 p1--lh">
2364										<svg width="24"
2365											height="24"
2366											viewbox="0 0 24 24"
2367											fill="none"
2368											xmlns="http://www.w3.org/2000/svg">
2369											<path d="M20 8L12 13L4 8V6L12 11L20 6V8ZM20 4H4C2.89 4 2 4.89 2 6V18C2 18.5304 2.21071 19.0391 2.58579 19.4142C2.96086 19.7893 3.46957 20 4 20H20C20.5304 20 21.0391 19.7893 21.4142 19.4142C21.7893 19.0391 22 18.5304 22 18V6C22 4.89 21.1 4 20 4Z"
2370												fill="currentColor" />
2371										</svg>
2372										<span><span class="__cf_email__" data-cfemail="b8d1d6ded7f8ced9d196d7cadf">[email&#160;protected]</span></span>
2373									</a>
2374								</li>
2375													</ul>
2376				</div>
2377			</div>
2378		</div>
2379
2380		<div class="colophon md:grid md:grid-cols-8 sm:pt-f-9">
2381			<div class="flex flex-col md:flex-row justify-between items-center md:col-start-1 md:col-span-8 md:px-f-5">
2382				<span class="text-sm sm:text-base tracking-wide leading-none mb-f-7 md:mb-0">
2383					©
2384					2026
2385					Van Andel Institute
2386				</span>
2387				<div class="flex w-full md:w-auto justify-between md:justify-end">
2388											<a href="https://www.vai.org/privacy-policy/" class="text-sm sm:text-base tracking-wide leading-none sm:first:mr-f-14">
2389							Privacy Policy
2390						</a>
2391											<a href="https://www.vai.org/terms-of-use/" class="text-sm sm:text-base tracking-wide leading-none sm:first:mr-f-14">
2392							Terms
2393						</a>
2394									</div>
2395			</div>
2396		</div>
2397	</div>
2398</footer>
2399			        <!-- Meta Pixel Event Code -->
vendor: 117 bytes, lines 2399-2400
2399
2400        <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2400<script type='text/javascript'>
2401        (function () {
2402            function runPixelCode( response ) {
2403                if ( ! response || ! response.data || ! response.data.fb_pxl_code ) {
2404                    return;
2405                }
2406
2407                try {
2408                    new Function( response.data.fb_pxl_code )();
2409                } catch ( e ) {
2410                    console && console.warn
2411                        && console.warn( 'Meta Pixel response parsing failed. Please check if your pixel is connected.', e );
2412                }
2413            }
2414
2415            var radio = window.nfRadio
2416                || ( window.Backbone && window.Backbone.Radio );
2417            if ( radio && radio.channel ) {
2418                radio.channel( 'forms' ).on( 'submit:response', runPixelCode );
2419            }
2420
2421            if ( window.jQuery ) {
2422                window.jQuery( document ).on(
2423                    'nfFormSubmitResponse',
2424                    function ( event, data ) {
2425                        if ( data && data.response ) {
2426                            runPixelCode( data.response );
2427                        }
2428                    }
2429                );
2430            }
2431        })();
2432        </script>
2432
2433        <!-- End Meta Pixel Event Code -->
2434                <!-- Meta Pixel Event Code -->
2435        
2435<script type='text/javascript'>
2436        (function ( $ ) {
2437            if ( ! $ || typeof document === 'undefined' ) {
2438                return;
2439            }
2440            // WPForms triggers this jQuery event and passes the AJAX response object.
2441            $( document ).on( 'wpformsAjaxSubmitSuccess', function ( event, data ) {
2442                if ( data && data.data && data.data.fb_pxl_code ) {
2443                    try {
2444                        new Function( data.data.fb_pxl_code )();
2445                    } catch ( e ) {
2446                        console && console.warn && console.warn( 'Meta Pixel eval failed', e );
2447                    }
2448                }
2449            } );
2450        })( window.jQuery );
2451        </script>
2451
2452        <!-- End Meta Pixel Event Code -->
2453        
2453<script type="speculationrules">
2454{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/timberland/theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
2455</script>
vendor: 1 bytes, line 2455
2455
2456<script>
2457	var relevanssi_rt_regex = /(&|\?)_(rt|rt_nonce)=(\w+)/g
2458	var newUrl = window.location.search.replace(relevanssi_rt_regex, '')
2459	history.replaceState(null, null, window.location.pathname + newUrl + window.location.hash)
2460</script>
2460
2461		
2461<script>
2462		( function ( body ) {
2463			'use strict';
2464			body.className = body.className.replace( /\btribe-no-js\b/, 'tribe-js' );
2465		} )( document.body );
2466		</script>
2466
2467		    <!-- Meta Pixel Event Code -->
2468    
2468<script type='text/javascript'>
2469        document.addEventListener( 'wpcf7mailsent', function( event ) {
2470        if( "fb_pxl_code" in event.detail.apiResponse){
2471            eval(event.detail.apiResponse.fb_pxl_code);
2472        }
2473        }, false );
2474    </script>
2474
2475    <!-- End Meta Pixel Event Code -->
2476        <div id="fb-pxl-ajax-code"></div><!-- YouTube Feeds JS -->
2477<script type="text/javascript">
2478
2479</script>
2479
2480		<style type="text/css">
2481			.relevanssi-live-search-results {
2482				opacity: 0;
2483				transition: opacity .25s ease-in-out;
2484				-moz-transition: opacity .25s ease-in-out;
2485				-webkit-transition: opacity .25s ease-in-out;
2486				height: 0;
2487				overflow: hidden;
2488				z-index: 9999995; /* Exceed SearchWP Modal Search Form overlay. */
2489				position: absolute;
2490				display: none;
2491			}
2492
2493			.relevanssi-live-search-results-showing {
2494				display: block;
2495				opacity: 1;
2496				height: auto;
2497				overflow: auto;
2498			}
2499
2500			.relevanssi-live-search-no-results, .relevanssi-live-search-didyoumean {
2501				padding: 0 1em;
2502			}
2503		</style>
2504		
2504<script> /* <![CDATA[ */var tribe_l10n_datatables = {"aria":{"sort_ascending":": activate to sort column ascending","sort_descending":": activate to sort column descending"},"length_menu":"Show _MENU_ entries","empty_table":"No data available in table","info":"Showing _START_ to _END_ of _TOTAL_ entries","info_empty":"Showing 0 to 0 of 0 entries","info_filtered":"(filtered from _MAX_ total entries)","zero_records":"No matching records found","search":"Search:","all_selected_text":"All items on this page were selected. ","select_all_link":"Select all pages","clear_selection":"Clear Selection.","pagination":{"all":"All","next":"Next","previous":"Previous"},"select":{"rows":{"0":"","_":": Selected %d rows","1":": Selected 1 row"}},"datepicker":{"dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesMin":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Prev","currentText":"Today","closeText":"Done","today":"Today","clear":"Clear"},"registration_prompt":"There is unsaved attendee information. Are you sure you want to continue?"};/* ]]> */ </script>
2504			
2504<script>
2505				( () => {
2506					const lazyloadRunObserver = () => {
2507						const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
2508						const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
2509							entries.forEach( ( entry ) => {
2510								if ( entry.isIntersecting ) {
2511									let lazyloadBackground = entry.target;
2512									if( lazyloadBackground ) {
2513										lazyloadBackground.classList.add( 'e-lazyloaded' );
2514									}
2515									lazyloadBackgroundObserver.unobserve( entry.target );
2516								}
2517							});
2518						}, { rootMargin: '200px 0px 200px 0px' } );
2519						lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
2520							lazyloadBackgroundObserver.observe( lazyloadBackground );
2521						} );
2522					};
2523					const events = [
2524						'DOMContentLoaded',
2525						'elementor/lazyload/observe',
2526					];
2527					events.forEach( ( event ) => {
2528						document.addEventListener( event, lazyloadRunObserver );
2529					} );
2530				} )();
2531			</script>
2531
2532			
2532<script id="tec-user-agent-js" src="https://www.vai.org/wp-content/plugins/the-events-calendar/common/build/js/user-agent.js?ver=da75d0bdea6dde3898df"></script>
vendor: 1 bytes, line 2532
2532
2533<script id="gtm4wp-client-device-data-js-before">
2534var gtm4wp_clientdevice_config = {"browser":false,"os":false,"device":true};
2535//# sourceURL=gtm4wp-client-device-data-js-before
2536</script>
vendor: 1 bytes, line 2536
2536
2537<script data-wp-strategy="defer" defer id="gtm4wp-client-device-data-js" src="https://www.vai.org/wp-content/plugins/duracelltomi-google-tag-manager/build/gtm4wp-client-device-data.js?ver=2.0.4"></script>
vendor: 1 bytes, line 2537
2537
2538<script data-wp-strategy="defer" defer id="gtm4wp-media-gate-js" src="https://www.vai.org/wp-content/plugins/duracelltomi-google-tag-manager/build/gtm4wp-media-gate.js?ver=2.0.4"></script>
vendor: 1 bytes, line 2538
2538
2539<script id="gtm4wp-youtube-js-before">
2540window.gtm4wp_media_gate_expected = true;
2541//# sourceURL=gtm4wp-youtube-js-before
2542</script>
vendor: 1 bytes, line 2542
2542
2543<script data-wp-strategy="defer" defer id="gtm4wp-youtube-js" src="https://www.vai.org/wp-content/plugins/duracelltomi-google-tag-manager/build/gtm4wp-youtube.js?ver=2.0.4"></script>
vendor: 1 bytes, line 2543
2543
2544<script id="gtm4wp-vimeo-js-before">
2545window.gtm4wp_media_gate_expected = true;
2546//# sourceURL=gtm4wp-vimeo-js-before
2547</script>
vendor: 1 bytes, line 2547
2547
2548<script data-wp-strategy="defer" defer id="gtm4wp-vimeo-js" src="https://www.vai.org/wp-content/plugins/duracelltomi-google-tag-manager/build/gtm4wp-vimeo.js?ver=2.0.4"></script>
vendor: 1 bytes, line 2548
2548
2549<script id="rocket-browser-checker-js-after">
2550"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}();
2551//# sourceURL=rocket-browser-checker-js-after
2552</script>
vendor: 1 bytes, line 2552
2552
2553<script id="rocket-preload-links-js-extra">
2554var RocketPreloadLinksConfig = {"excludeUris":"/(?:.+/)?feed(?:/(?:.+/?)?)?$|/(?:.+/)?embed/|/(index.php/)?(.*)wp-json(/.*|$)|/refer/|/go/|/recommend/|/recommends/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm","siteUrl":"https://www.vai.org","onHoverDelay":"100","rateThrottle":"3"};
2555//# sourceURL=rocket-preload-links-js-extra
2556</script>
vendor: 1 bytes, line 2556
2556
2557<script id="rocket-preload-links-js-after">
2558(function() {
2559"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run();
2560}());
2561
2562//# sourceURL=rocket-preload-links-js-after
2563</script>
vendor: 1 bytes, line 2563
2563
2564<script id="timberland-app-js" src="https://www.vai.org/wp-content/themes/timberland/theme/assets/build/app.12022024v1.1.js?id=e1d67df8f78965e609f0"></script>
vendor: 1 bytes, line 2564
2564
2565<script id="elementor-webpack-runtime-js" src="https://www.vai.org/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.3.2"></script>
vendor: 1 bytes, line 2565
2565
2566<script id="elementor-frontend-modules-js" src="https://www.vai.org/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.3.2"></script>
vendor: 1 bytes, line 2566
2566
2567<script id="jquery-ui-core-js" src="https://www.vai.org/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3"></script>
vendor: 1 bytes, line 2567
2567
2568<script id="elementor-frontend-js" src="https://www.vai.org/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.3.2"></script>
vendor: 1 bytes, line 2568
2568
2569<script id="relevanssi-live-search-client-js-extra">
2570var relevanssi_live_search_params = [];
2571relevanssi_live_search_params = {"ajaxurl":"https:\/\/www.vai.org\/wp-admin\/admin-ajax.php","config":{"default":{"input":{"delay":300,"min_chars":3},"results":{"position":"bottom","width":"auto","offset":{"x":0,"y":5},"static_offset":true}}},"msg_no_config_found":"No valid Relevanssi Live Search configuration found!","msg_loading_results":"Loading search results.","messages_template":"<div class=\"live-ajax-messages\">\n\t<div id=\"relevanssi-live-ajax-search-spinner\"><\/div>\n<\/div>\n"};;
2572//# sourceURL=relevanssi-live-search-client-js-extra
2573</script>
vendor: 1 bytes, line 2573
2573
2574<script id="relevanssi-live-search-client-js" src="https://www.vai.org/wp-content/plugins/relevanssi-live-ajax-search/assets/javascript/dist/script.min.js?ver=2.5"></script>
2574
2575		
2575<script type="text/javascript">
2576			var visualizerUserInteractionEvents = [
2577				"scroll",
2578				"mouseover",
2579				"keydown",
2580				"touchmove",
2581				"touchstart"
2582			];
2583
2584			visualizerUserInteractionEvents.forEach(function(event) {
2585				window.addEventListener(event, visualizerTriggerScriptLoader, { passive: true });
2586			});
2587
2588			function visualizerTriggerScriptLoader() {
2589				visualizerLoadScripts();
2590				visualizerUserInteractionEvents.forEach(function(event) {
2591					window.removeEventListener(event, visualizerTriggerScriptLoader, { passive: true });
2592				});
2593			}
2594
2595			function visualizerLoadScripts() {
2596				document.querySelectorAll("script[data-visualizer-script]").forEach(function(elem) {
2597					// Replace the placeholder with a real script tag using async=false:
2598					// scripts download in parallel but execute in insertion order, which
2599					// preserves the WordPress dependency order. Parallel jQuery.getScript
2600					// calls could execute render-facade.js before the chart renderer had
2601					// registered its render event listener, leaving charts blank.
2602					var script = document.createElement("script");
2603					script.src = elem.getAttribute("data-visualizer-script");
2604					script.async = false;
2605					script.onload = function() {
2606						setTimeout( function() {
2607							visualizerRefreshChart();
2608						} );
2609					};
2610					elem.parentNode.replaceChild(script, elem);
2611				});
2612			}
2613
2614			function visualizerRefreshChart() {
2615				jQuery( '.visualizer-front:not(.visualizer-chart-loaded)' ).resize();
2616				if ( jQuery( 'div.viz-facade-loaded:not(.visualizer-lazy):empty' ).length > 0 ) {
2617					visualizerUserInteractionEvents.forEach( function( event ) {
2618						window.addEventListener( event, function() {
2619							jQuery( '.visualizer-front:not(.visualizer-chart-loaded)' ).resize();
2620						}, { passive: true } );
2621					} );
2622				}
2623			}
2624		</script>
2624
2625			
2625<script>
2626	
2627document.addEventListener('DOMContentLoaded', function() {
2628  // Custom Dates
2629	const dateElements = document.querySelectorAll('.custom-event-date span');
2630
2631  const monthMap = {
2632    'January': 'Jan.',
2633    'February': 'Feb.',
2634    'March': 'Mar.',
2635    'April': 'Apr.',
2636    'May': 'May',
2637    'June': 'Jun.',
2638    'July': 'Jul.',
2639    'August': 'Aug.',
2640    'September': 'Sep.',
2641    'October': 'Oct.',
2642    'November': 'Nov.',
2643    'December': 'Dec.'
2644  };
2645
2646  dateElements.forEach(function(elem) {
2647    const originalDate = elem.textContent.trim();
2648    const dateParts = originalDate.replace(/,/g, '').split(' '); // [Month, Day, Year]
2649
2650    if (dateParts.length === 3) {
2651      const month = dateParts[0];
2652      const day = dateParts[1];
2653      const year = dateParts[2];
2654
2655      if (monthMap[month]) {
2656        elem.textContent = `${monthMap[month]} ${day}, ${year}`;
2657      }
2658    }
2659  });
2660
2661// Custom Terms
2662  const termElements = document.querySelectorAll('.custom-event-terms h2');
2663
2664  termElements.forEach(function(elem) {
2665    const originalTerms = elem.textContent.trim();
2666    const firstTerm = originalTerms.split(',')[0];
2667    elem.textContent = firstTerm;
2668  });
2669});
2670</script>
2670
2671
2672			</body>
2673	
2673<script>
2674        document.addEventListener("DOMContentLoaded", function() {
2675        // Wait for the DOM to load
2676        const dateltems = document.querySelectorAll("[data-twig-date]"); // Find all elements with a specific data-attribute
2677
2678        if (!dateltems) return;
2679
2680        for (let i = 0; i < dateltems.length; i++) {
2681            let element = dateltems[i];
2682
2683            // Check if the element contains a specific string
2684            if (element.textContent.includes("May.")) {
2685            // Use regex to remove the period character
2686            const updatedText = element.textContent.replace(/May\./g, "May");
2687            element.textContent = updatedText;
2688            }
2689        }
2690        });
2691    </script>
2691
2692</html>

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.