PageSourceSearch

https://www.jsmf.org/focus-areas/civic-infrastructure/

html jsmf.org collected 2026-09-24 08:47:24 UTC 160,910 bytes, 1,260 lines download raw bytes

1<!doctype html>
2
3<!-- Alpine.js state management for navigation drawers -->
4<html lang="en-US" 
5	x-data="{ navOpen: false, searchOpen: false }" 
6	:class="{ 'overflow-hidden': navOpen || searchOpen }"
7>
8<head>
9	<meta charset="UTF-8">
10<script>
11var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),document.addEventListener("gform/theme/scripts_loaded",function(){gform.themeScriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>"function"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn("The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1."),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener("gform_main_scripts_loaded",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener("gform/theme/scripts_loaded",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener("DOMContentLoaded",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook("action",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook("filter",o,r,e,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,r){gform.removeHook("action",o,r)},removeFilter:function(o,r,e){gform.removeHook("filter",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+"_"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==r?t.apply(null,e):e[0]=t.apply(null,e)})),"filter"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});
12</script>
12
13
14	<meta name="viewport" content="width=device-width, initial-scale=1">
15	<link rel="profile" href="https://gmpg.org/xfn/11">
16	<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
17		<!-- JSMF Section Colors -->
18		<style>
19			body {
20				/* Global section accent colors that cascade down to all components */
21				--section-accent-color: var(--color-perennial-teal, var(--color-primary));
22				--section-accent-color-secondary: var(--color-mint, var(--color-secondary));
23			}
24		</style>
25		<!-- /JSMF Section Colors -->
26		
27	<!-- This site is optimized with the Yoast SEO plugin v28.5 - https://yoast.com/product/yoast-seo-wordpress/ -->
28	<title>Civic Infrastructure &#8212; JSMF</title>
29	<meta name="description" content="Effective civic infrastructure is essential to achieving economic growth at scale." />
30	<link rel="canonical" href="https://www.jsmf.org/focus-areas/civic-infrastructure/" />
31	<meta property="og:locale" content="en_US" />
32	<meta property="og:type" content="article" />
33	<meta property="og:title" content="Civic Infrastructure &#8212; JSMF" />
34	<meta property="og:description" content="Effective civic infrastructure is essential to achieving economic growth at scale." />
35	<meta property="og:url" content="https://www.jsmf.org/focus-areas/civic-infrastructure/" />
36	<meta property="og:site_name" content="JSMF" />
37	<meta property="article:publisher" content="https://www.facebook.com/JSMFSTL" />
38	<meta property="article:modified_time" content="2025-09-19T21:31:35+00:00" />
39	<meta property="og:image" content="https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780.jpg" />
40	<meta property="og:image:width" content="1920" />
41	<meta property="og:image:height" content="940" />
42	<meta property="og:image:type" content="image/jpeg" />
43	<meta name="twitter:card" content="summary_large_image" />
44	<meta name="twitter:site" content="@jsmf" />
45	<meta name="twitter:label1" content="Est. reading time" />
46	<meta name="twitter:data1" content="1 minute" />
47	
47<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jsmf.org\/focus-areas\/civic-infrastructure\/","url":"https:\/\/www.jsmf.org\/focus-areas\/civic-infrastructure\/","name":"Civic Infrastructure &#8212; JSMF","isPartOf":{"@id":"https:\/\/www.jsmf.org\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jsmf.org\/focus-areas\/civic-infrastructure\/#primaryimage"},"image":{"@id":"https:\/\/www.jsmf.org\/focus-areas\/civic-infrastructure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jsmf.org\/wp-content\/uploads\/2025\/05\/civic-1-1-e1747336004780.jpg","datePublished":"2025-02-06T18:01:29+00:00","dateModified":"2025-09-19T21:31:35+00:00","description":"Effective civic infrastructure is essential to achieving economic growth at scale.","breadcrumb":{"@id":"https:\/\/www.jsmf.org\/focus-areas\/civic-infrastructure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jsmf.org\/focus-areas\/civic-infrastructure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.jsmf.org\/focus-areas\/civic-infrastructure\/#primaryimage","url":"https:\/\/www.jsmf.org\/wp-content\/uploads\/2025\/05\/civic-1-1-e1747336004780.jpg","contentUrl":"https:\/\/www.jsmf.org\/wp-content\/uploads\/2025\/05\/civic-1-1-e1747336004780.jpg","width":1920,"height":940,"caption":"Five multistory brick homes as seen above a concrete wall with the word GROW written on it."},{"@type":"BreadcrumbList","@id":"https:\/\/www.jsmf.org\/focus-areas\/civic-infrastructure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.jsmf.org\/"},{"@type":"ListItem","position":2,"name":"Focus Areas","item":"https:\/\/www.jsmf.org\/focus-areas\/"},{"@type":"ListItem","position":3,"name":"Civic Infrastructure"}]},{"@type":"WebSite","@id":"https:\/\/www.jsmf.org\/#website","url":"https:\/\/www.jsmf.org\/","name":"JSMF","description":"Prosperity that works for St. Louis","publisher":{"@id":"https:\/\/www.jsmf.org\/#organization"},"alternateName":"James S. McDonnell Foundation","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jsmf.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.jsmf.org\/#organization","name":"JSMF","alternateName":"James S. McDonnell Foundation","url":"https:\/\/www.jsmf.org\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.jsmf.org\/#\/schema\/logo\/image\/","url":"https:\/\/www.jsmf.org\/wp-content\/uploads\/2025\/02\/favicon.png","contentUrl":"https:\/\/www.jsmf.org\/wp-content\/uploads\/2025\/02\/favicon.png","width":512,"height":512,"caption":"JSMF"},"image":{"@id":"https:\/\/www.jsmf.org\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/JSMFSTL","https:\/\/x.com\/jsmf","https:\/\/www.instagram.com\/JSMF_STL\/","https:\/\/www.linkedin.com\/company\/jsmf\/","https:\/\/www.youtube.com\/@JSMF_STL"]}]}</script>
47
48	<!-- / Yoast SEO plugin. -->
49
50
51<link rel='dns-prefetch' href='//static.addtoany.com' />
52<link rel='dns-prefetch' href='//js-na2.hs-scripts.com' />
53<link rel='dns-prefetch' href='//unpkg.com' />
54<link rel='dns-prefetch' href='//kit.fontawesome.com' />
55<link rel='dns-prefetch' href='//cdn.plyr.io' />
56<link rel='dns-prefetch' href='//www.googletagmanager.com' />
57<link rel='dns-prefetch' href='//use.typekit.net' />
58<link rel="alternate" type="application/rss+xml" title="JSMF &raquo; Feed" href="https://www.jsmf.org/feed/" />
59<link rel="alternate" type="application/rss+xml" title="JSMF &raquo; Comments Feed" href="https://www.jsmf.org/comments/feed/" />
60<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.jsmf.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.jsmf.org%2Ffocus-areas%2Fcivic-infrastructure%2F" />
61<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.jsmf.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.jsmf.org%2Ffocus-areas%2Fcivic-infrastructure%2F&#038;format=xml" />
62<style id="wp-img-auto-sizes-contain-inline-css">
63img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
64/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
65</style>
66<style id="wp-emoji-styles-inline-css">
67
68	img.wp-smiley, img.emoji {
69		display: inline !important;
70		border: none !important;
71		box-shadow: none !important;
72		height: 1em !important;
73		width: 1em !important;
74		margin: 0 0.07em !important;
75		vertical-align: -0.1em !important;
76		background: none !important;
77		padding: 0 !important;
78	}
79/*# sourceURL=wp-emoji-styles-inline-css */
80</style>
81<style id="wp-block-library-inline-css">
82:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
82--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
83
84/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
85</style>
86
87<style id="global-styles-inline-css">
88: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--color--background: oklch(100% 0 89.88);--wp--preset--color--warm-white: oklch(96.21% 0.01 51.67);--wp--preset--color--foreground: oklch(0% 0 0);--wp--preset--color--gray: oklch(42.02% 0 89.88);--wp--preset--color--primary: oklch(54.4% 0.128657 186.2992);--wp--preset--color--secondary: oklch(69.56% 0.1503 179.9);--wp--preset--color--perennial-teal: oklch(54.4% 0.128657 186.2992);--wp--preset--color--mint: oklch(69.56% 0.1503 179.9);--wp--preset--color--prosperity-green: oklch(61.74% 0.18897787689171064 128.09100425007725);--wp--preset--color--leaf: oklch(77.06% 0.23695977959058181 128.4033905676833);--wp--preset--color--ardent-orange: oklch(68.06% 0.2551 30.86);--wp--preset--color--peach: oklch(79.18% 0.15598978670690522 34.06355771928193);--wp--preset--color--empathic-blue: oklch(64.34% 0.132 262.6);--wp--preset--color--sky: oklch(78.92% 0.1164 259.66);--wp--preset--color--resilient-red: oklch(56.06% 0.25493438435717075 2.083022242389812);--wp--preset--color--berry: oklch(68.46% 0.2402 354.93);--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,
880) 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--font-size--x-small: 0.75rem;--wp--preset--font-size--2-xl: 1.75rem;--wp--preset--font-size--3-xl: 2.375rem;--wp--preset--font-size--4-xl: 2.625rem;--wp--preset--font-size--5-xl: 3rem;--wp--preset--font-size--6-xl: 4rem;--wp--preset--font-size--7-xl: 4.5rem;--wp--preset--font-size--8-xl: 5.25rem;--wp--preset--font-family--sans: 'articulat-cf', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';--wp--preset--font-family--serif: 'p22-mackinac-pro', ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;--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);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:root { --wp--style--global--content-size: 90rem;--wp--style--global--wide-size: 108rem; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}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-background-color{color: var(--wp--preset--color--background) !important;}.has-warm-white-color{color: var(--wp--preset--color--warm-white) !important;}.has-foreground-color{color: var(--wp--preset--color--foreground) !important;}.has-gray-color{color: var(--wp--preset--color--gray) !important;}.has-primary-color{color: var(--wp--preset--color--primary) !important;}.has-secondary-color{color: var(--wp--preset--color--secondary) !important;}.has-perennial-teal-color{color: var(--wp--preset--color--perennial-teal) !important;}.has-mint-color{color: var(--wp--preset--color--mint) !important;}.has-prosperity-green-color{color: var(--wp--preset--color--prosperity-green) !important;}.has-leaf-color{color: var(--wp--preset--color--leaf) !important;}.has-ardent-orange-color{color: var(--wp--preset--color--ardent-orange) !important;}.has-peach-color{color: var(--wp--preset--color--peach) !important;}.has-empathic-blue-color{color: var(--wp--preset--color--empathic-blue) !important;}.has-sky-color{color: var(--wp--preset--color--sky) !important;}.has-resilient-red-color{color: var(--wp--preset--color--resilient-red) !important;}.has-berry-color{color: var(--wp--preset--color--berry) !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-background-background-color{background-color: var(--wp--preset--color--background) !important;}.has-warm-white-background-color{background-color: var(--wp--preset--color--warm-white) !important;}.has-foreground-background-color{background-color: var(--wp--preset--color--foreground) !important;}.has-gray-background-color{background-color: var(--wp--preset--color--gray) !important;}.has-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}.has-secondary-background-color{background-color: var(--wp--preset--color--secondary) !important;}.has-perennial-teal-background-color{background-color: var(--wp--preset--color--perennial-teal) !important;}.has-mint-background-color{background-color: var(--wp--preset--color--mint) !important;}.has-prosperity-green-background-color{background-color: var(--wp--preset--color--prosperity-green) !important;}.has-leaf-background-color{background-color: var(--wp--preset--color--leaf) !important;}.has-ardent-orange-background-color{background-color: var(--wp--preset--color--ardent-orange) !important;}.has-peach-background-color{background-color: var(--wp--preset--color--peach) !important;}.has-empathic-blue-background-color{background-color: var(--wp--preset--color--empathic-blue) !important;}.has-sky-background-color{background-color: var(--wp--preset--color--sky) !important;}.has-resilient-red-background-color{background-color: var(--wp--preset--color--resilient-red) !important;}.has-berry-background-color{background-color: var(--wp--preset--color--berry) !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-background-border-color{border-color: var(--wp--preset--color--background) !important;}.has-warm-white-border-color{border-color: var(--wp--preset--color--warm-white) !important;}.has-foreground-border-color{border-color: var(--wp--preset--color--foreground) !important;}.has-gray-border-color{border-color: var(--wp--preset--color--gray) !important;}.has-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}.has-secondary-border-color{border-color: var(--wp--preset--color--secondary) !important;}.has-perennial-teal-border-color{border-color: var(--wp--preset--color--perennial-teal) !important;}.has-mint-border-color{border-color: var(--wp--preset--color--mint) !important;}.has-prosperity-green-border-color{border-color: var(--wp--preset--color--prosperity-green) !important;}.has-leaf-border-color{border-color: var(--wp--preset--color--leaf) !important;}.has-ardent-orange-border-color{border-color: var(--wp--preset--color--ardent-orange) !important;}.has-peach-border-color{border-color: var(--wp--preset--color--peach) !important;}.has-empathic-blue-border-color{border-color: var(--wp--preset--color--empathic-blue) !important;}.has-sky-border-color{border-color: var(--wp--preset--color--sky) !important;}.has-resilient-red-border-color{border-color: var(--wp--preset--color--resilient-red) !important;}.has-berry-border-color{border-color: var(--wp--preset--color--berry) !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;}
88.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;}.has-x-small-font-size{font-size: var(--wp--preset--font-size--x-small) !important;}.has-2-xl-font-size{font-size: var(--wp--preset--font-size--2-xl) !important;}.has-3-xl-font-size{font-size: var(--wp--preset--font-size--3-xl) !important;}.has-4-xl-font-size{font-size: var(--wp--preset--font-size--4-xl) !important;}.has-5-xl-font-size{font-size: var(--wp--preset--font-size--5-xl) !important;}.has-6-xl-font-size{font-size: var(--wp--preset--font-size--6-xl) !important;}.has-7-xl-font-size{font-size: var(--wp--preset--font-size--7-xl) !important;}.has-8-xl-font-size{font-size: var(--wp--preset--font-size--8-xl) !important;}.has-sans-font-family{font-family: var(--wp--preset--font-family--sans) !important;}.has-serif-font-family{font-family: var(--wp--preset--font-family--serif) !important;}
89/*# sourceURL=global-styles-inline-css */
90</style>
91
92<link rel='stylesheet' id='announcer-css-css' href='https://www.jsmf.org/wp-content/plugins/announcer/public/css/style.css?ver=6.4' media='all' />
93<link rel='stylesheet' id='code_embed_responsive-css' href='https://www.jsmf.org/wp-content/plugins/simple-embed-code/css/video-container.min.css?ver=2.6.4' media='all' />
94<link rel='stylesheet' id='jsmf-style-css' href='https://www.jsmf.org/wp-content/themes/jsmf/style.css?ver=0.4.15' media='all' />
95<link rel='stylesheet' id='adobe-fonts-css' href='https://use.typekit.net/dlk0rld.css' media='all' />
96<link rel='stylesheet' id='plyr-css' href='https://cdn.plyr.io/3.7.8/plyr.css?ver=3.7.8' media='all' />
97<link rel='stylesheet' id='addtoany-css' href='https://www.jsmf.org/wp-content/plugins/add-to-any/addtoany.min.css?ver=1.16' media='all' />
98<script id="addtoany-core-js-before">
99window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};
100
101//# sourceURL=addtoany-core-js-before
102</script>
vendor: 1 bytes, line 102
102
103<script id="addtoany-core-js" defer src="https://static.addtoany.com/menu/page.js"></script>
vendor: 1 bytes, line 103
103
104<script id="jquery-core-js" src="https://www.jsmf.org/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 104
104
105<script id="jquery-migrate-js" src="https://www.jsmf.org/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 105
105
106<script id="addtoany-jquery-js" defer src="https://www.jsmf.org/wp-content/plugins/add-to-any/addtoany.min.js?ver=1.1"></script>
vendor: 1 bytes, line 106
106
107<script async data-wp-strategy="async" id="font-awesome-js" src="https://kit.fontawesome.com/e7c865b2e3.js"></script>
107
108
109<!-- Google tag (gtag.js) snippet added by Site Kit -->
110<!-- Google Analytics snippet added by Site Kit -->
vendor: 80 bytes, lines 110-111
110
111<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
111GT-TWZGD4WS
vendor: 18 bytes, line 111
111" async></script>
112<script id="google_gtagjs-js-after">
113window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
114gtag("set","linker",{"domains":["www.jsmf.org"]});
115gtag("js", new Date());
116gtag("set", "developer_id.dZTNiMT", true);
117gtag("config", "GT-TWZGD4WS");
118 window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }; 
119//# sourceURL=google_gtagjs-js-after
120</script>
120
121<link rel="https://api.w.org/" href="https://www.jsmf.org/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.jsmf.org/wp-json/wp/v2/focus-areas/36" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.jsmf.org/xmlrpc.php?rsd" />
122<link rel='shortlink' href='https://www.jsmf.org/?p=36' />
123<script type="text/javascript" src="https://www.bugherd.com/sidebarv2.js?utm_source=wordpress&apikey=lrmxkot5gcpfhjs9sezlzg" async="true"></script>
123<meta name="generator" content="Site Kit by Google 1.188.0" />			<!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.3.75-->
124			
124<script class="hsq-set-content-id" data-content-id="blog-post">
125				var _hsq = _hsq || [];
126				_hsq.push(["setContentType", "blog-post"]);
127			</script>
127
128			<!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin -->
129			<link rel="icon" href="https://www.jsmf.org/wp-content/uploads/2025/02/cropped-favicon-32x32.png" sizes="32x32" />
130<link rel="icon" href="https://www.jsmf.org/wp-content/uploads/2025/02/cropped-favicon-192x192.png" sizes="192x192" />
131<link rel="apple-touch-icon" href="https://www.jsmf.org/wp-content/uploads/2025/02/cropped-favicon-180x180.png" />
132<meta name="msapplication-TileImage" content="https://www.jsmf.org/wp-content/uploads/2025/02/cropped-favicon-270x270.png" />
133<noscript><style id="rocket-lazyload-nojs-css">.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript><link rel='stylesheet' id='gravity_forms_theme_reset-css' href='https://www.jsmf.org/wp-content/plugins/gravityforms/assets/css/dist/gravity-forms-theme-reset.min.css?ver=3.1.2' media='all' />
134<link rel='stylesheet' id='gravity_forms_theme_foundation-css' href='https://www.jsmf.org/wp-content/plugins/gravityforms/assets/css/dist/gravity-forms-theme-foundation.min.css?ver=3.1.2' media='all' />
135<link rel='stylesheet' id='gravity_forms_theme_framework-css' href='https://www.jsmf.org/wp-content/plugins/gravityforms/assets/css/dist/gravity-forms-theme-framework.min.css?ver=3.1.2' media='all' />
136<link rel='stylesheet' id='gravity_forms_orbital_theme-css' href='https://www.jsmf.org/wp-content/plugins/gravityforms/assets/css/dist/gravity-forms-orbital-theme.min.css?ver=3.1.2' media='all' />
137
138</head>
139
140<body class="wp-singular focus-areas-template-default single single-focus-areas postid-36 wp-embed-responsive wp-theme-jsmf">
141
142
143<div id="page">
144	<!-- Skip link for keyboard navigation -->
145	<a 
146		href="#content" 
147		class="sr-only focus-visible:not-sr-only !absolute left-3 -top-12 z-[999] bg-white px-4 py-2 transition-all duration-200 focus-visible:top-3 focus-visible:outline-none focus-visible:shadow-[0_0_0_3px_#0b0c0c,_0_0_.4em_0em_#1f1f22] focus-visible:!p-2 text-primary underline rounded font-bold font-sans"
148		data-motion='{"opacity": [0, 1], "duration": 0.3, "easing": "ease-out"}'
149	>
150		Skip to content	</a>
151
152	<!-- Absolute header with dynamic background and icon colors -->
153	<header class="absolute top-[var(--wp-admin--admin-bar--height,0px)] left-0 right-0 z-50 bg-transparent text-black fill-black" role="banner">
154		<div class="wrapper py-1.5 md:py-4 flex justify-between items-center">
155			<!-- Site logo - SVG with responsive sizing -->
156			<a href="https://www.jsmf.org/" class="site-logo" aria-label="JSMF" data-motion='{"opacity": [0, 1], "duration": 0.6, "easing": "ease-out"}'>
157				<svg class="w-[3.8125rem] md:w-[4.8125rem] h-auto block" viewBox="0 0 77 32" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
158					<g clip-path="url(#clip0_2744_5653)">
159						<path d="M21.1376 30.2895C22.592 31.4244 24.624 32 27.1746 32C28.4205 32 29.5327 31.8332 30.4738 31.5105C31.415 31.1878 32.2117 30.7359 32.848 30.1711C33.4843 29.6063 33.9602 28.9339 34.2704 28.1755C34.5805 27.4117 34.7356 26.5779 34.7356 25.685C34.7356 23.8077 34.2329 22.3446 33.2437 21.3495C32.2545 20.3543 30.6877 19.6389 28.5809 19.2247L25.8004 18.6599C24.6026 18.4017 23.7577 18.0413 23.2818 17.5895C22.8059 17.1377 22.5653 16.4384 22.5653 15.5132C22.5653 15.142 22.6348 14.7763 22.7738 14.432C22.9129 14.0877 23.1482 13.7758 23.4743 13.5122C23.8005 13.2432 24.2336 13.0334 24.7684 12.8882C25.3031 12.7376 25.9768 12.6623 26.7789 12.6623C28.1799 12.6623 29.2173 12.9528 29.8589 13.5283C30.5006 14.0985 30.9604 14.9914 31.2171 16.1694L34.4201 15.6369V15.6262C34.3078 14.8569 34.0993 14.1039 33.7998 13.3938C33.5004 12.6838 33.0566 12.0437 32.4791 11.5004C31.9016 10.9571 31.1369 10.5107 30.2065 10.1772C29.2761 9.84367 28.105 9.67154 26.7254 9.67154C25.6453 9.67154 24.6293 9.79526 23.7096 10.0427C22.7845 10.2901 21.9771 10.672 21.3087 11.1723C20.635 11.6779 20.1002 12.3127 19.7206 13.0657C19.3356 13.8188 19.1431 14.7117 19.1431 15.723C19.1431 16.7342 19.2821 17.6003 19.5495 18.2995C19.8222 18.9988 20.2286 19.6013 20.7579 20.0854C21.2873 20.5695 21.9557 20.9622 22.7364 21.258C23.5225 21.5539 24.4315 21.8067 25.4314 22.0003L27.9927 22.506C28.6237 22.6243 29.1531 22.7911 29.5648 22.9955C29.9766 23.2052 30.3081 23.4473 30.5487 23.7216C30.7893 23.996 30.9604 24.3026 31.0513 24.6253C31.1423 24.9534 31.1904 25.2869 31.1904 25.6204C31.1904 26.0723 31.1262 26.508 30.9925 26.9114C30.8642 27.3148 30.6343 27.6699 30.3188 27.9657C30.0033 28.2616 29.5755 28.5036 29.0515 28.6811C28.5275 28.8586 27.8751 28.9501 27.1104 28.9501C25.5437 28.9501 24.3459 28.6273 23.5492 27.998C22.7578 27.3686 22.2819 26.3466 22.1322 24.9696L18.71 24.9642C18.8597 27.3633 19.6725 29.1545 21.1269 30.2895H21.1376Z"/>
160						<path d="M58.8305 31.4675V10.2041H54.8469L48.9703 27.1158L43.2648 10.2041H39.1367V31.4675H42.1953V16.0403L47.5105 31.4675H50.2055L55.7185 16.0081V31.4675H58.8305Z"/>
161						<path d="M76.439 19.3108H67.5893V13.3132H77.0004V10.2041H64.1885V31.4675H67.5893V22.4468H76.439V19.3108Z"/>
162						<path d="M77 0H0V3.24357H77V0Z"/>
163						<path d="M14.6086 10.2041H2.42229V13.4476H11.2131V24.0767C11.2131 25.6151 10.919 26.8146 10.3415 27.6376C9.76403 28.466 8.78014 28.8855 7.4166 28.8855C6.70542 28.8855 6.10653 28.7779 5.63062 28.5735C5.15472 28.3638 4.75903 28.0733 4.44889 27.7129C4.1441 27.3471 3.90347 26.9007 3.7484 26.3789C3.58799 25.8571 3.47035 25.26 3.39549 24.6092H0C0.165764 27.1481 0.887639 29.0308 2.13889 30.2195C3.38479 31.4029 5.18146 32.0054 7.47542 32.0054C9.76937 32.0054 11.4056 31.3545 12.6836 30.0743C13.9616 28.7887 14.6086 26.8522 14.6086 24.3241V10.2148V10.2041Z"/>
164					</g>
165					<defs>
166						<clipPath id="clip0_2744_5653">
167							<rect width="77" height="32"/>
168						</clipPath>
169					</defs>
170				</svg>
171				<!-- Hidden text for screen readers -->
172				<span class="sr-only">JSMF Logo</span>
173			</a>
174
175			<!-- Navigation Controls -->
176			<div class="flex items-center">
177				<!-- Search Toggle Button -->
178				<button 
179					id="search-toggle"
180					@click="$dispatch('toggle-search')"
181					class="hidden md:flex items-center justify-center w-12 h-12 transition-opacity hover:opacity-75"
182					:aria-expanded="searchOpen"
183					aria-controls="search-drawer"
184					role="button"
185					aria-label="Toggle search"
186					data-motion='{"opacity": [0, 1], "duration": 0.6, "delay": 0.1, "easing": "ease-out"}'
187				>
188					<!-- Hidden text for screen readers -->
189					<span class="sr-only">Toggle search</span>
190					<!-- Search icon SVG (hidden from screen readers) -->
191					<svg width="23" height="23" viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
192						<path fill-rule="evenodd" clip-rule="evenodd" d="M4.25383 1.61308C5.82784 0.561355 7.67838 0 9.57143 0H9.57149C12.1099 0.000161588 14.5443 1.00862 16.3393 2.80357C18.1342 4.59851 19.1427 7.03293 19.1429 9.57136V9.57143C19.1429 11.4645 18.5815 13.315 17.5298 14.889C16.4781 16.463 14.9832 17.6898 13.2343 18.4143C11.4853 19.1387 9.56081 19.3283 7.70414 18.9589C5.84746 18.5896 4.142 17.678 2.80341 16.3394C1.46482 15.0009 0.553232 13.2954 0.183917 11.4387C-0.185399 9.58204 0.00414705 7.65755 0.728586 5.9086C1.45302 4.15965 2.67982 2.6648 4.25383 1.61308ZM9.57137 2C8.0739 2.00001 6.61007 2.44407 5.36497 3.27602C4.11986 4.10797 3.14941 5.29047 2.57634 6.67397C2.00328 8.05746 1.85334 9.57983 2.14549 11.0485C2.43763 12.5173 3.15874 13.8663 4.21762 14.9252C5.27651 15.9841 6.62561 16.7052 8.09432 16.9974C9.56303 17.2895 11.0854 17.1396 12.4689 16.5665C13.8524 15.9934 15.0349 15.023 15.8668 13.7779C16.6988 12.5328 17.1428 11.069 17.1429 9.57149M9.57143 2C11.5795 2.00014 13.5052 2.79789 14.9251 4.21778C16.345 5.63767 17.1427 7.5634 17.1429 9.57143"/>
193						<path fill-rule="evenodd" clip-rule="evenodd" d="M16.2384 14.824L22.4146 21.0001L21.0003 22.4143L14.8242 16.2382L16.2384 14.824Z"/>
194					</svg>
195				</button>
196
197				<!-- Menu Toggle Button -->
198				<button 
199					id="menu-toggle"
200					@click="$dispatch('toggle-nav')"
201					class="flex items-center justify-center w-12 h-12 -mr-3 transition-opacity hover:opacity-75"
202					:aria-expanded="navOpen"
203					aria-controls="nav-drawer"
204					aria-label="Toggle menu"
205					data-motion='{"opacity": [0, 1], "duration": 0.6, "delay": 0.2, "easing": "ease-out"}'
206				>
207					<!-- Hidden text for screen readers -->
208					<span class="sr-only">Toggle menu</span>
209					<!-- Hamburger menu icon -->
210					<svg width="24" height="14" viewBox="0 0 24 14" xmlns="http://www.w3.org/2000/svg">
211						<rect width="24" height="2"/>
212						<rect y="6" width="24" height="2"/>
213						<rect y="12" width="24" height="2"/>
214					</svg>
215				</button>
216			</div>
217		</div>
218	</header>
219
220	<!-- Load navigation components -->
221	
222<!-- Navigation Drawer Container -->
223<div 
224	x-data="{
225		// Core state management for the navigation drawer
226		navOpen: false,          // Controls visibility of the entire drawer
227		activeSection: 'default', // Current section from page metadata
228		hoverSection: null,      // Tracks which section is being hovered (desktop only)
229		activeSubmenu: null,     // Tracks which submenu is showing (mobile only)
230		lastActiveSubmenu: null, // Stores the last active submenu for closing animation
231		isMobile: window.innerWidth < 768  // Determines mobile/desktop behavior
232	}"
233	x-init="
234		// Watch for drawer open/close to manage body scroll and focus
235		$watch('navOpen', value => {
236			if (value) {
237				// Prevent body scroll and make main content inert for accessibility
238				document.body.style.overflow = 'hidden';
239				document.querySelector('main')?.setAttribute('inert', '');
240				// Set initial focus for keyboard navigation
241				$nextTick(() => {
242					$refs.firstFocusable?.focus();
243				});
244			} else {
245				// Restore body scroll and main content interaction
246				document.body.style.overflow = '';
247				document.querySelector('main')?.removeAttribute('inert');
248			}
249		})
250
251		// Handle window resize to switch between mobile/desktop layouts
252		window.addEventListener('resize', () => {
253			isMobile = window.innerWidth < 768;
254			// Close any open submenu when switching to desktop
255			if (!isMobile) activeSubmenu = null;
256		});"
257	@toggle-nav.window="navOpen = !navOpen"
258	@keydown.escape.window="navOpen = false; $nextTick(() => document.querySelector('[aria-controls=\'nav-drawer\']').focus())"
259	class="fixed inset-0 !top-[var(--ancr-group-height,0px)] z-50 transition-transform duration-300 md:transition-all"
260	:class="{ 'pointer-events-none': !navOpen }"
261>
262	<!-- Main Drawer Content -->
263	<div 
264		x-cloak
265		x-show="navOpen"
266		x-transition:enter="transition-transform duration-300 ease-[cubic-bezier(0.25,1,0.5,1)] transform"
267		x-transition:enter-start="max-md:translate-x-full md:translate-y-full"
268		x-transition:enter-end="max-md:translate-x-0 md:translate-y-0 "
269		x-transition:leave="transition-transform duration-300 ease-[cubic-bezier(0.25,1,0.5,1)] transform"
270		x-transition:leave-start="max-md:translate-x-0 md:translate-y-0" 
271		x-transition:leave-end="max-md:translate-x-full md:translate-y-full"
272		x-trap="navOpen"
273		x-ref="drawer"
274		tabindex="-1"
275		role="dialog"
276		aria-modal="true"
277		aria-label="Navigation Menu"
278		class="absolute inset-y-0 right-0 w-full h-[calc(100svh-var(--ancr-group-height,0px))] overflow-y-auto transition-colors duration-300 transform md:inset-x-0 md:bottom-0 md:w-auto"
279		:class="{ 
280			// Section-specific background colors
281			'bg-white': !hoverSection && activeSection === 'default',
282			'bg-mint': hoverSection === 'focus_areas' || (!hoverSection && activeSection === 'focus_areas'),
283			'bg-peach': hoverSection === 'who_we_are' || (!hoverSection && activeSection === 'who_we_are'),
284			'bg-leaf': hoverSection === 'news_and_ideas' || (!hoverSection && activeSection === 'news_and_ideas'),
285			'bg-sky': hoverSection === 'grants' || (!hoverSection && activeSection === 'grants')
286		}"
287	>	
288		<!-- Logo and Controls -->
289		<div class="absolute md:relative md:inset-auto w-full top-0 inset-x-0 z-[999]">
290			<div class="flex justify-between items-center wrapper py-1.5 md:py-4">
291
292				<!-- Site Logo -->
293				<a 
294					href="https://www.jsmf.org/" 
295					class="site-logo" 
296					aria-label="JSMF"
297				>
298					<img class="w-[3.8125rem] md:w-[4.8125rem] h-auto block" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="JSMF Logo" data-lazy-src="https://www.jsmf.org/wp-content/themes/jsmf/img/logo.svg"><noscript><img class="w-[3.8125rem] md:w-[4.8125rem] h-auto block" src="https://www.jsmf.org/wp-content/themes/jsmf/img/logo.svg" alt="JSMF Logo"></noscript>
299				</a>
300
301				<!-- Search and Close Buttons -->
302				<div class="flex items-center">
303					<button 
304						@click="$dispatch('toggle-search'); navOpen = false"
305						class="items-center justify-center hidden w-12 h-12 transition-opacity hover:opacity-75 md:flex"
306						aria-expanded="false"
307						aria-controls="search-drawer"
308					>
309						<span class="sr-only">Toggle search</span>
310						<img class="w-[1.400625rem] auto block" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Search icon" data-lazy-src="https://www.jsmf.org/wp-content/themes/jsmf/img/search.svg"><noscript><img class="w-[1.400625rem] auto block" src="https://www.jsmf.org/wp-content/themes/jsmf/img/search.svg" alt="Search icon"></noscript>
311					</button>
312
313					<button 
314						@click="navOpen = false"
315						class="flex items-center justify-center w-12 h-12 -mr-3 transition-opacity hover:opacity-75"
316						aria-label="Close menu"
317					>
318						<img class="w-[1.14875rem] h-auto block" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Close icon" data-lazy-src="https://www.jsmf.org/wp-content/themes/jsmf/img/close.svg"><noscript><img class="w-[1.14875rem] h-auto block" src="https://www.jsmf.org/wp-content/themes/jsmf/img/close.svg" alt="Close icon"></noscript>
319					</button>
320				</div>
321			</div>
322		</div>
323		<!-- Drawer Header -->
324		<div class="wrapper flex flex-col pt-33 md:pt-[25vh] pb-4.5">
325
326			<!-- Two-column Layout Container -->
327			<div id="nav-drawer-content" 
328				class="flex flex-col md:grid md:grid-cols-2 md:gap-x-5 md:items-center max-md:flex-1"
329				@mouseleave="hoverSection = null"
330			>
331				<!-- Left Column: Main Navigation -->
332				<nav class="relative z-20" 
333					role="navigation" 
334					aria-label="Main navigation"
335					@focusout="$event.relatedTarget?.closest('#nav-drawer-content') || (hoverSection = null)"
336				>
337					<ul id="menu-primary" class="flex flex-col gap-y-5 md:gap-y-9 items-start"><button type="button" role="button" aria-expanded="isMobile ? activeSubmenu === &#039;focus_areas&#039; : hoverSection === &#039;focus_areas&#039;" aria-haspopup="menu" class="group flex items-center transition-all text-5xl font-serif text-black transition-opacity underline-offset-10 text-left relative pr-8 gap-x-3 menu-item-57" @click.prevent.stop="if(isMobile) { lastActiveSubmenu = null; activeSubmenu = &#039;focus_areas&#039;; } else { hoverSection = &#039;focus_areas&#039; }" @mouseenter="!isMobile &amp;&amp; (hoverSection = &#039;focus_areas&#039;)" @focus="!isMobile &amp;&amp; (hoverSection = &#039;focus_areas&#039;)" x-ref="parent-focus_areas" x-bind:class="{
338					// Dim other sections when one is hovered (desktop only)
339					&#039;opacity-40&#039;: !isMobile &amp;&amp; hoverSection &amp;&amp; hoverSection !== &#039;focus_areas&#039; &amp;&amp; activeSection !== &#039;focus_areas&#039;,
340					// Underline active/hovered section (desktop only)
341					&#039;underline&#039;: !isMobile &amp;&amp; (hoverSection === &#039;focus_areas&#039; || activeSection === &#039;focus_areas&#039;)
342				}">Areas of Focus<svg class="w-2 h-4 md:hidden" viewBox="0 0 8 16" fill="none"><path d="M1 1l6 7-6 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
342<ul class="md:absolute md:left-[calc(100%+1.25rem)] md:top-0 w-full" 
343			role="menu"
344			x-show="(!isMobile && (hoverSection === 'focus_areas' || (activeSection === 'focus_areas' && !hoverSection)))"
345			x-ref="submenu-focus_areas"
346		><a href="https://www.jsmf.org/focus-areas/civic-infrastructure/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-52" aria-current="page">Civic Infrastructure</a></li>
347<a href="https://www.jsmf.org/focus-areas/wealth-building-protection/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-53">Wealth Building &#038; Protection</a></li>
348<a href="https://www.jsmf.org/focus-areas/small-midsize-businesses/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-54">Small &#038; Midsize Businesses</a></li>
349<a href="https://www.jsmf.org/focus-areas/workforce/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-55">Workforce</a></li>
350</ul>
351</li>
352<button type="button" role="button" aria-expanded="isMobile ? activeSubmenu === &#039;who_we_are&#039; : hoverSection === &#039;who_we_are&#039;" aria-haspopup="menu" class="group flex items-center transition-all text-5xl font-serif text-black transition-opacity underline-offset-10 text-left relative pr-8 gap-x-3 menu-item-58" @click.prevent.stop="if(isMobile) { lastActiveSubmenu = null; activeSubmenu = &#039;who_we_are&#039;; } else { hoverSection = &#039;who_we_are&#039; }" @mouseenter="!isMobile &amp;&amp; (hoverSection = &#039;who_we_are&#039;)" @focus="!isMobile &amp;&amp; (hoverSection = &#039;who_we_are&#039;)" x-ref="parent-who_we_are" x-bind:class="{
353					// Dim other sections when one is hovered (desktop only)
354					&#039;opacity-40&#039;: !isMobile &amp;&amp; hoverSection &amp;&amp; hoverSection !== &#039;who_we_are&#039; &amp;&amp; activeSection !== &#039;who_we_are&#039;,
355					// Underline active/hovered section (desktop only)
356					&#039;underline&#039;: !isMobile &amp;&amp; (hoverSection === &#039;who_we_are&#039; || activeSection === &#039;who_we_are&#039;)
357				}">Who We Are<svg class="w-2 h-4 md:hidden" viewBox="0 0 8 16" fill="none"><path d="M1 1l6 7-6 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></button><ul class="md:absolute md:left-[calc(100%+1.25rem)] md:top-0 w-full" 
358			role="menu"
359			x-show="(!isMobile && (hoverSection === 'who_we_are' || (activeSection === 'who_we_are' && !hoverSection)))"
360			x-ref="submenu-who_we_are"
361		><a href="https://www.jsmf.org/our-mission/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-3029">Our Mission</a></li>
362<a href="https://www.jsmf.org/people/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-63">People</a></li>
363<a href="https://www.jsmf.org/history/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-62">History</a></li>
364<a href="https://apply.workable.com/james-s-mcdonnell-foundation/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-206">Careers</a></li>
365<a href="https://www.jsmf.org/contact/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-60">Contact</a></li>
366</ul>
367</li>
368<button type="button" role="button" aria-expanded="isMobile ? activeSubmenu === &#039;news_and_ideas&#039; : hoverSection === &#039;news_and_ideas&#039;" aria-haspopup="menu" class="group flex items-center transition-all text-5xl font-serif text-black transition-opacity underline-offset-10 text-left relative pr-8 gap-x-3 menu-item-65" @click.prevent.stop="if(isMobile) { lastActiveSubmenu = null; activeSubmenu = &#039;news_and_ideas&#039;; } else { hoverSection = &#039;news_and_ideas&#039; }" @mouseenter="!isMobile &amp;&amp; (hoverSection = &#039;news_and_ideas&#039;)" @focus="!isMobile &amp;&amp; (hoverSection = &#039;news_and_ideas&#039;)" x-ref="parent-news_and_ideas" x-bind:class="{
369					// Dim other sections when one is hovered (desktop only)
370					&#039;opacity-40&#039;: !isMobile &amp;&amp; hoverSection &amp;&amp; hoverSection !== &#039;news_and_ideas&#039; &amp;&amp; activeSection !== &#039;news_and_ideas&#039;,
371					// Underline active/hovered section (desktop only)
372					&#039;underline&#039;: !isMobile &amp;&amp; (hoverSection === &#039;news_and_ideas&#039; || activeSection === &#039;news_and_ideas&#039;)
373				}">News &#038; Ideas<svg class="w-2 h-4 md:hidden" viewBox="0 0 8 16" fill="none"><path d="M1 1l6 7-6 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
373<ul class="md:absolute md:left-[calc(100%+1.25rem)] md:top-0 w-full" 
374			role="menu"
375			x-show="(!isMobile && (hoverSection === 'news_and_ideas' || (activeSection === 'news_and_ideas' && !hoverSection)))"
376			x-ref="submenu-news_and_ideas"
377		><a href="https://www.jsmf.org/news-ideas/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-66">View All News &#038; Ideas</a></li>
378<a href="https://www.jsmf.org/category/impact-stories/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-2902">Impact Stories</a></li>
379<a href="https://www.jsmf.org/category/news/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-2903">News</a></li>
380<a href="https://www.jsmf.org/prosperity-that-works-podcast/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-3127">Prosperity That Works Podcast</a></li>
381</ul>
382</li>
383<button type="button" role="button" aria-expanded="isMobile ? activeSubmenu === &#039;grants&#039; : hoverSection === &#039;grants&#039;" aria-haspopup="menu" class="group flex items-center transition-all text-5xl font-serif text-black transition-opacity underline-offset-10 text-left relative pr-8 gap-x-3 menu-item-70" @click.prevent.stop="if(isMobile) { lastActiveSubmenu = null; activeSubmenu = &#039;grants&#039;; } else { hoverSection = &#039;grants&#039; }" @mouseenter="!isMobile &amp;&amp; (hoverSection = &#039;grants&#039;)" @focus="!isMobile &amp;&amp; (hoverSection = &#039;grants&#039;)" x-ref="parent-grants" x-bind:class="{
384					// Dim other sections when one is hovered (desktop only)
385					&#039;opacity-40&#039;: !isMobile &amp;&amp; hoverSection &amp;&amp; hoverSection !== &#039;grants&#039; &amp;&amp; activeSection !== &#039;grants&#039;,
386					// Underline active/hovered section (desktop only)
387					&#039;underline&#039;: !isMobile &amp;&amp; (hoverSection === &#039;grants&#039; || activeSection === &#039;grants&#039;)
388				}">Grants<svg class="w-2 h-4 md:hidden" viewBox="0 0 8 16" fill="none"><path d="M1 1l6 7-6 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></button><ul class="md:absolute md:left-[calc(100%+1.25rem)] md:top-0 w-full" 
389			role="menu"
390			x-show="(!isMobile && (hoverSection === 'grants' || (activeSection === 'grants' && !hoverSection)))"
391			x-ref="submenu-grants"
392		><a href="https://www.jsmf.org/how-we-work/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-71">How We Work</a></li>
393<a href="https://www.jsmf.org/grants/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-73">Grants Database</a></li>
394<a href="https://www.jsmf.org/proposals/" role="menuitem" class="block text-base text-black font-sans font-bold transition-all mb-5 hover:opacity-40 focus:opacity-40 duration-300 ease-in-out w-full menu-item-2869">Proposals</a></li>
395</ul>
396</li>
397</ul>				</nav>
398
399				<!-- Mobile Search Input -->
400				<div class="relative mt-6 md:hidden mb-14 md:mb-0">
401					<form 
402						action="https://www.jsmf.org/"
403						method="get"
404						class="relative"
405					>
406					<input 
407						type="search" 
408						name="s"
409						placeholder="Search" 
410						class="w-full bg-transparent !border-0 !p-3.5 !pl-9 font-serif text-base italic placeholder:text-black focus:!ring-2 focus:!ring-offset-2 focus:!ring-primary !rounded"
411					>
412					<div 
413						class="absolute left-0 -translate-y-1/2 pointer-events-none top-1/2"
414					>
415						<svg width="23" height="23" viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg">
416							<path fill-rule="evenodd" clip-rule="evenodd" d="M4.25383 1.61308C5.82784 0.561355 7.67838 0 9.57143 0H9.57149C12.1099 0.000161588 14.5443 1.00862 16.3393 2.80357C18.1342 4.59851 19.1427 7.03293 19.1429 9.57136V9.57143C19.1429 11.4645 18.5815 13.315 17.5298 14.889C16.4781 16.463 14.9832 
41617.6898 13.2343 18.4143C11.4853 19.1387 9.56081 19.3283 7.70414 18.9589C5.84746 18.5896 4.142 17.678 2.80341 16.3394C1.46482 15.0009 0.553232 13.2954 0.183917 11.4387C-0.185399 9.58204 0.00414705 7.65755 0.728586 5.9086C1.45302 4.15965 2.67982 2.6648 4.25383 1.61308ZM9.57137 2C8.0739 2.00001 6.61007 2.44407 5.36497 3.27602C4.11986 4.10797 3.14941 5.29047 2.57634 6.67397C2.00328 8.05746 1.85334 9.57983 2.14549 11.0485C2.43763 12.5173 3.15874 13.8663 4.21762 14.9252C5.27651 15.9841 6.62561 16.7052 8.09432 16.9974C9.56303 17.2895 11.0854 17.1396 12.4689 16.5665C13.8524 15.9934 15.0349 15.023 15.8668 13.7779C16.6988 12.5328 17.1428 11.069 17.1429 9.57149M9.57143 2C11.5795 2.00014 13.5052 2.79789 14.9251 4.21778C16.345 5.63767 17.1427 7.5634 17.1429 9.57143"/>
417							<path fill-rule="evenodd" clip-rule="evenodd" d="M16.2384 14.824L22.4146 21.0001L21.0003 22.4143L14.8242 16.2382L16.2384 14.824Z"/>
418						</svg>
419					</div>
420					</form>
421				</div>
422
423				<!-- Right Column: Newsletter and Social -->
424				<div class="relative max-md:mt-auto">
425					<!-- Newsletter Form (only shown in default state) -->
426					<div x-show="activeSection === 'default' && !hoverSection">
427						<div id="nav-newsletter" class="mb-8">
428							<h2 class="font-sans font-bold text-sm tracking-[.0714em] uppercase mb-4.5">
429								Sign up for our newsletter							</h2>
430							
431                <div class='gf_browser_chrome gform_wrapper gform-theme gform-theme--foundation gform-theme--framework gform-theme--orbital' data-form-theme='orbital' data-form-index='0' id='gform_wrapper_1' ><style>#gform_wrapper_1[data-form-index="0"].gform-theme{--gf-color-primary: #204ce5;--gf-color-primary-rgb: 32, 76, 229;--gf-color-primary-contrast: #fff;--gf-color-primary-contrast-rgb: 255, 255, 255;--gf-color-primary-darker: #001AB3;--gf-color-primary-lighter: #527EFF;--gf-color-secondary: #fff;--gf-color-secondary-rgb: 255, 255, 255;--gf-color-secondary-contrast: #112337;--gf-color-secondary-contrast-rgb: 17, 35, 55;--gf-color-secondary-darker: #F5F5F5;--gf-color-secondary-lighter: #FFFFFF;--gf-color-out-ctrl-light: rgba(17, 35, 55, 0.1);--gf-color-out-ctrl-light-rgb: 17, 35, 55;--gf-color-out-ctrl-light-darker: rgba(104, 110, 119, 0.35);--gf-color-out-ctrl-light-lighter: #F5F5F5;--gf-color-out-ctrl-dark: #585e6a;--gf-color-out-ctrl-dark-rgb: 88, 94, 106;--gf-color-out-ctrl-dark-darker: #112337;--gf-color-out-ctrl-dark-lighter: rgba(17, 35, 55, 0.65);--gf-color-in-ctrl: #fff;--gf-color-in-ctrl-rgb: 255, 255, 255;--gf-color-in-ctrl-contrast: #112337;--gf-color-in-ctrl-contrast-rgb: 17, 35, 55;--gf-color-in-ctrl-darker: #F5F5F5;--gf-color-in-ctrl-lighter: #FFFFFF;--gf-color-in-ctrl-primary: #204ce5;--gf-color-in-ctrl-primary-rgb: 32, 76, 229;--gf-color-in-ctrl-primary-contrast: #fff;--gf-color-in-ctrl-primary-contrast-rgb: 255, 255, 255;--gf-color-in-ctrl-primary-darker: #001AB3;--gf-color-in-ctrl-primary-lighter: #527EFF;--gf-color-in-ctrl-light: rgba(17, 35, 55, 0.1);--gf-color-in-ctrl-light-rgb: 17, 35, 55;--gf-color-in-ctrl-light-darker: rgba(104, 110, 119, 0.35);--gf-color-in-ctrl-light-lighter: #F5F5F5;--gf-color-in-ctrl-dark: #585e6a;--gf-color-in-ctrl-dark-rgb: 88, 94, 106;--gf-color-in-ctrl-dark-darker: #112337;--gf-color-in-ctrl-dark-lighter: rgba(17, 35, 55, 0.65);--gf-radius: 3px;--gf-font-size-secondary: 14px;--gf-font-size-tertiary: 13px;--gf-icon-ctrl-number: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z' fill='rgba(17, 35, 55, 0.65)'/%3E%3C/svg%3E");--gf-icon-ctrl-select: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893
431C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='rgba(17, 35, 55, 0.65)'/%3E%3C/svg%3E");--gf-icon-ctrl-search: url("data:image/svg+xml,%3Csvg width='640' height='640' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 128c-70.692 0-128 57.308-128 128 0 70.691 57.308 128 128 128 70.691 0 128-57.309 128-128 0-70.692-57.309-128-128-128zM64 256c0-106.039 85.961-192 192-192s192 85.961 192 192c0 41.466-13.146 79.863-35.498 111.248l154.125 154.125c12.496 12.496 12.496 32.758 0 45.254s-32.758 12.496-45.254 0L367.248 412.502C335.862 434.854 297.467 448 256 448c-106.039 0-192-85.962-192-192z' fill='rgba(17, 35, 55, 0.65)'/%3E%3C/svg%3E");--gf-label-space-y-secondary: var(--gf-label-space-y-md-secondary);--gf-ctrl-border-color: #686e77;--gf-ctrl-size: var(--gf-ctrl-size-md);--gf-ctrl-label-color-primary: #112337;--gf-ctrl-label-color-secondary: #112337;--gf-ctrl-choice-size: var(--gf-ctrl-choice-size-md);--gf-ctrl-checkbox-check-size: var(--gf-ctrl-checkbox-check-size-md);--gf-ctrl-radio-check-size: var(--gf-ctrl-radio-check-size-md);--gf-ctrl-btn-font-size: var(--gf-ctrl-btn-font-size-md);--gf-ctrl-btn-padding-x: var(--gf-ctrl-btn-padding-x-md);--gf-ctrl-btn-size: var(--gf-ctrl-btn-size-md);--gf-ctrl-btn-border-color-secondary: #686e77;--gf-ctrl-btn-bg-color-hover-tertiary: #EBEBEB;--gf-field-img-choice-size: var(--gf-field-img-choice-size-md);--gf-field-img-choice-card-space: var(--gf-field-img-choice-card-space-md);--gf-field-img-choice-check-ind-size: var(--gf-field-img-choice-check-ind-size-md);--gf-field-img-choice-check-ind-icon-size: var(--gf-field-img-choice-check-ind-icon-size-md);--gf-field-pg-steps-number-color: rgba(17, 35, 55, 0.8);}</style><div id='gf_1' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_1' id='gform_1'  action='/focus-areas/civic-infrastructure/#gf_1' data-formid='1' novalidate>
432                        <div class='gform-body gform_body'><div id='gform_fields_1' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id="field_1_1" class="gfield gfield--type-email gfield--input-type-email field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible"  ><label class='gfield_label gform-field-label' for='input_1_1'><span class='gform-field-label__text'>Email</span></label><div class='ginput_container ginput_container_email'>
433                            <input name='input_1' id='input_1_1' type='email' value='' class='large'   placeholder='Email'  aria-invalid="false"  />
434                        </div></div></div></div>
435        <div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_1' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' >Sign Up</button> <input type='hidden' name='gform_ajax' value='form_id=1&amp;title=&amp;description=&amp;tabindex=0&amp;theme=orbital&amp;hash=d443ac778972664c43208968009c4658' />
436            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_1' value='iframe' />
437            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_1' id='gform_theme_1' value='orbital' />
438            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_1' id='gform_style_settings_1' value='' />
439            <input type='hidden' class='gform_hidden' name='is_submit_1' value='1' />
440            <input type='hidden' class='gform_hidden' name='gform_submit' value='1' />
441            
442            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='USD' value='yd1mLTZ6ixnoOk0QeAuvo/AN1uGirDbKOpHjmVVMFTs3xtkKMdRd+gx/pNab2lJ8WXXtjQRKjb+vCcmb2JXYWXrr2Y2hl0tX
442dHtPkyztbGxbTGI=' />
443            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' />
444            <input type='hidden' class='gform_hidden' name='state_1' value='WyJ7XCJnZm9ybV9zdWJtaXNzaW9uX21ldGhvZFwiOltcIjA4YmQxZDkzNDA5M2QzYzIxYTdhNmMxYjU2MDRjODE5XCIsXCIzMGI1ZWUwNDllNTc4MzBlMjZhYzBhZmY4MDM3ZWRiYVwiLFwiY2FiOWY3YTQxZmI3MDkyY2U2ZmY3NzY4N2ExZTQ3MWFcIl0sXCJnZm9ybV90aGVtZVwiOlwiYWJkMmE3Mzg2YTE0ODRhOTBmOWY2MGZiY2Y5NGU1N2ZcIixcImdmb3JtX3N0eWxlX3NldHRpbmdzXCI6XCJiNzcxMWE3YTQxNTY2NDY3MWU3OWIyOGM3ODNmZjQ1NFwiLFwiZm9ybV9pZFwiOlwiZmI0NmY1Y2Y4MzZkNzY1MGIyMDM3OGIxMDlhNWQyNjRcIixcInVybFwiOlwiNTM4NjNmNjc2MTUyMDM0N2QxZDM2NmM5NGEyYjNiYjJcIixcInN0YXRlX3RpbWVzdGFtcFwiOlwiOTI0YzRhZjVhZjI3MGMyODkwNzJiMWZkNTJhMGQzZGRcIn0iLCIzYWYzY2FmYjMwZGQ0OGI3MDE4MzNmNjg5MjA4M2QzZCIsMTc5MDIyNDM4Ml0=' />
445            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_1' id='gform_target_page_number_1' value='0' />
446            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_1' id='gform_source_page_number_1' value='1' />
447            <input type='hidden' name='gform_field_values' value='' />
448            
449        </div>
450                        </form>
451                        </div>
452		                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_1' id='gform_ajax_frame_1' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe>
453		                
453<script>
454gform.initializeOnLoaded( function() {jQuery('#gform_ajax_frame_1').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_1');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_1').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_1').offset().top - mt); }, 50 );var current_page = jQuery('#gform_source_page_number_1').val();jQuery(document).trigger('gform_page_loaded', [1, current_page]);window['gf_submitting_1'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_1').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_1').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [1]);window['gf_submitting_1'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1').text());}else{jQuery('#gform_1').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "1", currentPage: "current_page", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( "gform_wrapper_1" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( "span" );            visibilitySpan.id = "gform_visibility_test_1";            gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( "gform_visibility_test_1" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 1, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );
455</script>
455
456						</div>
457					</div>
458
459					<!-- Social Links (only shown in default state) -->
460											<div x-show="activeSection === 'default' && !hoverSection" class="flex mt-8 gap-x-3 md:mt-24">
461															<a 
462									href="https://www.facebook.com/JSMFSTL/" 
463									aria-label="facebook-f"
464									target="_blank" 
465									rel="noopener"
466									class="flex items-center justify-center text-xl transition-opacity hover:opacity-40 w-9 h-9"
467								>
468									<i class="fa-brands fa-facebook-f"></i>
469								</a>
470															<a 
471									href="https://www.instagram.com/jsmfstl" 
472									aria-label="instagram"
473									target="_blank" 
474									rel="noopener"
475									class="flex items-center justify-center text-xl transition-opacity hover:opacity-40 w-9 h-9"
476								>
477									<i class="fa-brands fa-instagram"></i>
478								</a>
479															<a 
480									href="https://www.linkedin.com/company/jsmf/" 
481									aria-label="linkedin-in"
482									target="_blank" 
483									rel="noopener"
484									class="flex items-center justify-center text-xl transition-opacity hover:opacity-40 w-9 h-9"
485								>
486									<i class="fa-brands fa-linkedin-in"></i>
487								</a>
488															<a 
489									href="https://www.youtube.com/@JSMFSTL" 
490									aria-label="youtube"
491									target="_blank" 
492									rel="noopener"
493									class="flex items-center justify-center text-xl transition-opacity hover:opacity-40 w-9 h-9"
494								>
495									<i class="fa-brands fa-youtube"></i>
496								</a>
497													</div>
498										</div>
499			</div>
500		</div>
501
502		<!-- Mobile Submenu -->
503		<div 
504			x-show="isMobile && activeSubmenu"
505			x-transition:enter="transition-transform duration-300 ease-[cubic-bezier(0.25,1,0.5,1)]"
506			x-transition:enter-start="translate-x-full"
507			x-transition:enter-end="translate-x-0"
508			x-transition:leave="transition-transform duration-300 ease-[cubic-bezier(0.25,1,0.5,1)]"
509			x-transition:leave-start="translate-x-0" 
510			x-transition:leave-end="translate-x-full"
511			@click.away="lastActiveSubmenu = activeSubmenu; activeSubmenu = null"
512			class="fixed inset-0 z-40"
513			:class="{
514				'bg-mint': activeSubmenu === 'focus_areas' || lastActiveSubmenu === 'focus_areas',
515				'bg-peach': activeSubmenu === 'who_we_are' || lastActiveSubmenu === 'who_we_are',
516				'bg-leaf': activeSubmenu === 'news_and_ideas' || lastActiveSubmenu === 'news_and_ideas',
517				'bg-sky': activeSubmenu === 'grants' || lastActiveSubmenu === 'grants'
518			}"
519		>
520			<div class="wrapper py-1.5 md:py-4 pt-33">
521				<button 
522					@click="lastActiveSubmenu = activeSubmenu; activeSubmenu = null"
523					class="flex items-center mb-10 font-serif text-4xl text-black underline transition-opacity hover:opacity-75 gap-x-3 underline-offset-7"
524					aria-label="Back to main menu"
525				>
526					<svg class="w-2 h-4"
527						viewBox="0 0 8 16"
528						fill="none"
529					>
530						<path d="M7 15L1 8l6-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
531					</svg>
532					<span x-text="$refs[`parent-${activeSubmenu}`]?.textContent"></span>
533				</button>
534
535				<div id="mobile-submenu-content" class="px-5">
536					<div x-html="$refs[`submenu-${activeSubmenu}`]?.innerHTML"></div>
537				</div>
538			</div>
539		</div>
540	</div>
541</div> 
542	
543<div 
544	x-data="{ 
545		searchOpen: false,
546		isActive: false,
547		hasContent: false,
548		closeSearch() {
549			this.searchOpen = false;
550			$nextTick(() => {
551				const searchToggle = document.getElementById('search-toggle');
552				searchToggle?.focus();
553			});
554		},
555		checkActive() {
556			return this.isActive || this.hasContent || $refs.submitButton === document.activeElement;
557		}
558	}"
559	x-init="$nextTick(() => hasContent = $refs.searchInput.value.length > 0)"
560	@toggle-search.window="
561		searchOpen = !searchOpen;
562		if (searchOpen) {
563			$nextTick(() => {
564				$refs.searchInput.focus();
565				hasContent = $refs.searchInput.value.length > 0;
566			});
567		}
568	"
569	@keydown.escape.prevent.stop.window="
570		if (searchOpen) {
571			closeSearch();
572		}
573	"
574	class="fixed inset-0 z-50 hidden transition-all duration-300 md:block"
575	:class="{ 'pointer-events-none': !searchOpen }"
576	role="region"
577	aria-label="Search"
578	x-cloak
579>
580	<!-- Semi-transparent backdrop that closes the drawer when clicked. -->
581	<div 
582		x-show="searchOpen"
583		x-transition:enter="transition-opacity ease-out duration-300"
584		x-transition:enter-start="opacity-0"
585		x-transition:enter-end="opacity-100"
586		x-transition:leave="transition-opacity ease-in duration-300"
587		x-transition:leave-start="opacity-100"
588		x-transition:leave-end="opacity-0"
589		class="absolute inset-0 bg-black/30"
590		@click="closeSearch()"
591		role="presentation"
592	></div>
593
594	<!-- Search drawer panel that slides up from bottom. -->
595	<div 
596		x-show="searchOpen"
597		x-transition:enter="transition-transform ease-out duration-300"
598		x-transition:enter-start="translate-y-full"
599		x-transition:enter-end="translate-y-0"
600		x-transition:leave="transition-transform ease-in duration-300"
601		x-transition:leave-start="translate-y-0"
602		x-transition:leave-end="translate-y-full"
603		class="absolute inset-x-0 bottom-0 bg-white"
604		role="search"
605		aria-modal="true"
606	>
607		<div class="wrapper py-40">
608			
609<form 
610	action="https://www.jsmf.org/" 
611	method="get"
612	class="relative max-w-247 xl:pr-21 mx-auto"
613	role="search"
614>
615	<div class="relative">
616		<label 
617			for="search-input"
618			class="absolute left-0 text-black transition- duration-300 ease-out text-5xl origin-bottom-left"
619			:class="{ 
620				'-translate-y-full font-sans tracking-[.0714em] uppercase font-bold scale-[29.166667%] top-0 pointer-events-auto': checkActive(),
621				'-translate-y-1/2 font-serif tracking-normal normal-case font-medium scale-100 top-1/2 pointer-events-none': !checkActive()
622			}"
623		>
624			Search		</label>
625
626		<input 
627			type="search" 
628			id="search-input"
629			x-ref="searchInput"
630			@focus="isActive = true"
631			@blur="isActive = false"
632			@input="hasContent = $el.value.length > 0"
633			class="w-full !pl-0 !pr-10 md:!pr-16 py-1.5 md:!py-3 !text-[1.5rem] !leading-[1.08333333] md:!text-5xl md:!leading-[1.05263158] !border-0 !border-b !border-black/40 focus-visible:!border-black focus-visible:outline-none focus-visible:!shadow-none" 
634			style="box-shadow: none !important"
635			value="" 
636			name="s" 
637			required
638		>
639
640		<button 
641			type="submit"
642			x-ref="submitButton"
643			:disabled="!hasContent"
644			class="absolute right-0 top-1/2 -translate-y-1/2 btn w-7 h-7 md:w-12 md:h-12 p-0 transition-colors duration-300 fill-white" 
645			:class="hasContent ? 'opacity-100 hover:fill-primary focus-visible:fill-primary' : 'opacity-40 cursor-not-allowed hover:!bg-primary hover:!fill-white'"
646			aria-label="Submit search"
647		>
648			<span class="sr-only">Submit search</span>
649			<svg class="hidden md:block" width="23" height="23" viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
650				<path fill-rule="evenodd" clip-rule="evenodd" d="M4.25383 1.61308C5.82784 0.561355 7.67838 0 9.57143 0H9.57149C12.1099 0.000161588 14.5443 1.00862 16.3393 2.80357C18.1342 4.59851 19.1427 7.03293 19.1429 9.57136V9.57143C19.1429 11.4645 18.5815 13.315 17.5298 14.889C16.4781 16.463 14.9832 17.6898 13.2343 18.4143C11.4853 19.1387 9.56081 19.3283 7.70414 18.9589C5.84746 18.5896 4.142 17.678 2.80341 16.3394C1.46482 15.0009 0.553232 13.2954 0.183917 11.4387C-0.185399 9.58204 0.00414705 7.65755 0.728586 5.9086C1.45302 4.15965 2.67982 2.6648 4.25383 1.61308ZM9.57137 2C8.0739 2.00001 6.61007 2.44407 5.36497 3.27602C4.11986 4.10797 3.14941 5.29047 2.57634 6.67397C2.00328 8.05746 1.85334 9.57983 2.14549 11.0485C2.43763 12.5173 3.15874 13.8663 4.21762 14.9252C5.27651 15.9841 6.62561 16.7052 8.09432 16.9974C9.56303 17.2895 11.0854 17.1396 12.4689 16.5665C13.8524 15.9934 15.0349 15.023 15.8668 13.7779C16.6988 12.5328 17.1428 11.069 17.1429 9.57149M9.57143 2C11.5795 2.00014 13.5052 2.79789 14.9251 4.21778C16.345 5.63767 17.1427 7.5634 17.1429 9.57143"/>
651				<path fill-rule="evenodd" clip-rule="evenodd" d="M16.2384 14.824L22.4146 21.0001L21.0003 22.4143L14.8242 16.2382L16.2384 14.824Z"/>
652			</svg>
653			<svg class="block md:hidden" width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
654				<path fill-rule="evenodd" clip-rule="evenodd" d="M3.20444 1.49953C4.2205 0.820619 5.41506 0.458252 6.63707 0.458252H6.63713C8.27574 0.458356 9.84721 1.10934 11.0059 2.26801C12.1646 3.42668 12.8155 4.99815 12.8156 6.63676V6.63682C12.8156 7.85883 12.4533 9.05339 11.7744 10.0695C11.0955 11.0855 10.1305 11.8774 9.00151 12.3451C7.87252 12.8127 6.63022 12.9351 5.43169 12.6967C4.23317 12.4583 3.13225 11.8698 2.26816 11.0057C1.40407 10.1416 0.81562 9.04073 0.577218 7.8422C0.338817 6.64368 0.461173 5.40137 0.928815 4.27239C1.39646 3.1434 2.18838 2.17844 3.20444 1.49953ZM6.63701 2.45825C5.81059 2.45826 5.00272 2.70333 4.31558 3.16247C3.62842 3.62162 3.09284 4.27422 2.77657 5.03775C2.46031 5.80129 2.37756 6.64146 2.53879 7.45202C2.70002 8.26258 3.09799 9.00713 3.68237 9.59152C4.26676 10.1759 5.01131 10.5739 5.82187 10.7351C6.63243 10.8963 7.47261 10.8136 8.23614 10.4973C8.99967 10.1811 9.65228 9.64547 10.1114 8.95831C10.5706 8.27117 10.8156 7.46331 10.8156 6.63689M6.63707 2.45825C7.74527 2.45834 8.80805 2.89861 9.59167 3.68222C10.3753 4.46584 10.8156 5.52862 10.8156 6.63682" fill="white"/>
655				<path fill-rule="evenodd" clip-rule="evenodd" d="M10.6647 9.25049L14.9559 13.5417L13.5417 14.9559L9.25049 10.6647L10.6647 9.25049Z" fill="white"/>
656			</svg>
657		</button>
658	</div>
659</form> 
660
661			<!-- Close button in top-right corner. -->
662			<button 
663				@click="closeSearch()"
664				class="absolute w-12 h-12 flex items-center justify-center top-4 right-[var(--global-content-edge-padding)] group"
665				aria-label="Close search"
666			>
667				<img class="w-[1.14875rem] h-auto block opacity-40 group-hover:opacity-100 group-focus-visible:opacity-100 transition-opacity duration-300 ease-in-out" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Close icon" data-lazy-src="https://www.jsmf.org/wp-content/themes/jsmf/img/close.svg"><noscript><img class="w-[1.14875rem] h-auto block opacity-40 group-hover:opacity-100 group-focus-visible:opacity-100 transition-opacity duration-300 ease-in-out" src="https://www.jsmf.org/wp-content/themes/jsmf/img/close.svg" alt="Close icon"></noscript>
668			</button>
669		</div>
670	</div>
671</div> 
672
673	<!-- Main content area -->
674	<main id="content" class="entry-content" tabindex="-1">
675
676<article id="post-36" class="post-36 focus-areas type-focus-areas status-publish has-post-thumbnail hentry" itemscope itemtype="https://schema.org/Article">
677	<!-- Hero Section -->
678	<section id="sticky-hero" class="w-full pt-14 md:pt-20 pb-10 md:pb-12" aria-labelledby="focus-area-title">
679		<div class="wrapper sticky-hero-wrapper">
680			<div class="flex flex-col items-center lg:flex-row gap-y-8 md:gap-y-12 lg:gap-x-29">
681				<!-- Text Column -->
682				<div class="w-full lg:w-[60.5%] order-2 lg:order-1 @container">
683					<!-- Focus Area Name (Overline) -->
684					<h1 class="font-sans font-bold text-sm tracking-[.0714em] uppercase mb-4 md:mb-6" data-motion='{"opacity": [0, 1], "duration": 0.7, "easing": "ease-out"}'>
685						Civic Infrastructure					</h1>
686
687					<!-- Focus Area Title -->
688					<h2 id="focus-area-title" class="text-[2.375rem] max-md:leading-[1.05263158] md:text-6xl [&>u]:font-sans [&>u]:font-semibold [&>u]:underline-offset-[.15em] [&>u]:decoration-[.0667em] text-resilient-red" data-motion='{"opacity": [0, 1], "duration": 0.8, "delay": 0.1, "easing": "ease-out"}'>
689						Building Capacity for Collaboration					</h2>
690				</div>
691
692				<!-- Images Column -->
693				<div id="sticky-hero-images" class="w-full lg:w-[39.5%] order-1 lg:order-2 flex flex-col">
694					<!-- Featured Image -->
695											<div id="sticky-hero-primary-image" class="aspect-[4/3] overflow-hidden lg:-mr-[1.6875rem] lg:-ml-[4%] -mr-[var(--global-content-edge-padding)] max-lg:w-[calc(100%-27.217%+var(--global-content-edge-padding))] max-lg:self-end">
696							<img width="1024" height="501" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%20501'%3E%3C/svg%3E" class="w-full h-full object-cover object-center wp-post-image" alt="Five multistory brick homes as seen above a concrete wall with the word GROW written on it." decoding="async" fetchpriority="high" data-lazy-srcset="https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1024x501.jpg 1024w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-300x147.jpg 300w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-768x376.jpg 768w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1536x752.jpg 1536w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1280x627.jpg 1280w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1706x835.jpg 1706w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-853x418.jpg 853w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780.jpg 1920w" data-lazy-sizes="(max-width: 1024px) 100vw, 1024px" data-lazy-src="https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1024x501.jpg" /><noscript><img width="1024" height="501" src="https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1024x501.jpg" class="w-full h-full object-cover object-center wp-post-image" alt="Five multistory brick homes as seen above a concrete wall with the word GROW written on it." decoding="async" fetchpriority="high" srcset="https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1024x501.jpg 1024w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-300x147.jpg 300w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-768x376.jpg 768w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1536x752.jpg 1536w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1280x627.jpg 1280w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-1706x835.jpg 1706w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780-853x418.jpg 853w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-1-1-e1747336004780.jpg 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></noscript>						</div>
697						
698					<!-- Secondary Image -->
699											<div id="sticky-hero-secondary-image" class="aspect-[3/2] overflow-hidden -mt-[3.4375rem] lg:-mt-[1.375rem] max-lg:w-[73.7%] lg:-ml-[5.3125rem]">
700							<img width="1024" height="683" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%20683'%3E%3C/svg%3E" class="w-full h-full object-cover object-center" alt="A person reading a book in a library." decoding="async" data-lazy-srcset="https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1024x683.jpg 1024w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-300x200.jpg 300w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-768x512.jpg 768w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1536x1024.jpg 1536w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1280x853.jpg 1280w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1706x1137.jpg 1706w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-853x569.jpg 853w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2.jpg 1920w" data-lazy-sizes="(max-width: 1024px) 100vw, 1024px" data-lazy-src="https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1024x683.jpg" /><noscript><img width="1024" height="683" src="https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1024x683.jpg" class="w-full h-full object-cover object-center" alt="A person reading a book in a library." decoding="async" srcset="https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1024x683.jpg 1024w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-300x200.jpg 300w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-768x512.jpg 768w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1536x1024.jpg 1536w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1280x853.jpg 1280w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-1706x1137.jpg 1706w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2-853x569.jpg 853w, https://www.jsmf.org/wp-content/uploads/2025/05/civic-2.jpg 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></noscript>						</div>
701										</div>
702			</div>
703		</div>
704	</section>
705
706	<!-- Intro Section -->
707	<section id="sticky-hero-intro" class="bg-warm-white relative pt-20 pb-30 md:pt-30 md:pb-32" aria-labelledby="intro-headline">
708		<div class="wrapper">
709			<div class="max-w-248 mx-auto lg:pr-21.5">
710									<h2 id="intro-headline" class="text-3xl" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "easing": "ease-out"}'>
711						Effective civic infrastructure is essential to achieving economic growth at scale.					</h2>
712					
713									<div class="mt-3 md:mt-4 prose" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "delay": 0.1, "easing": "ease-out"}'>
714						<p>We invest in strengthening the region’s capacity for collaboration, shared learning, and collective action. This includes developing leaders, facilitating cross-sector partnerships, and helping to shape our shared understanding of our region’s challenges and opportunities. When the grassroots and &#8220;grasstops&#8221; can work together effectively, St. Louis will be the region we know it can be.</p>
715					</div>
716					
717									<div class="mt-8 md:mt-15" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.6, "delay": 0.2, "easing": "ease-out"}'>
718						<a
719							href="https://www.jsmf.org/proposals/" 
720							class="inline-block font-sans text-base font-bold btn-link after:bg-resilient-red"
721																				>
722							Start the grant conversation						</a>
723					</div>
724								</div>
725		</div>
726	</section>
727
728	<!-- Stats Section -->
729			<section class="pb-30 pt-20 md:py-30 relative z-10 bg-berry" aria-labelledby="stats-headline">
730			<div class="wrapper">
731				<div class="flex flex-col md:flex-row gap-x-16 lg:gap-x-[15.2%] gap-y-20">
732					<div class="w-full max-w-98 shrink-0" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "easing": "ease-out"}'>
733						<!-- Focus Area Name (Overline) -->
734						<div class="font-sans font-bold text-sm tracking-[.0714em] uppercase mb-4 md:mb-6">
735							Civic Infrastructure						</div>
736
737						<!-- Stats Headline -->
738						<h2 id="stats-headline" class="text-3xl mb-8 md:mb-10">
739							Our Commitment						</h2>
740
741						<!-- View All Grants Link -->
742						<a
743							href="https://www.jsmf.org/grants/?_focus_area=36" 
744							class="inline-block font-sans text-base font-bold btn-link after:bg-black"
745						>
746							View all Civic Infrastructure Grants						</a>
747					</div>
748
749					<!-- Stats Grid -->
750					<div class="@container shrink-1 w-full">
751						<div class="grid grid-cols-1 @xl:grid-cols-2 gap-8 gap-y-11">
752															<div class="max-w-77" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "delay": 0.1, "easing": "ease-out"}'>
753									<div class="text-8xl md:text-6xl @xl:text-8xl font-serif text-black">
754										15+									</div>
755									<div class="text-base font-bold font-sans max-w-56">
756										grants funded since 2023									</div>
757								</div>
758																<div class="max-w-77" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "delay": 0.2, "easing": "ease-out"}'>
759									<div class="text-8xl md:text-6xl @xl:text-8xl font-serif text-black">
760										Change									</div>
761									<div class="text-base font-bold font-sans max-w-56">
762										for the St. Louis region									</div>
763								</div>
764														</div>
765					</div>
766				</div>
767			</div>
768		</section>
769		
770	<!-- Impact Stories Section -->
771			<section class="py-20 md:py-30 relative z-10 bg-white" aria-labelledby="impact-stories-heading">
772			<div class="wrapper">
773				<div class="flex flex-col gap-y-12 md:gap-y-20">
774												<div id="impact-story-3163" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.8, "delay": 0, "easing": "ease-out"}'>
775								
776<article class="grid grid-cols-1 gap-y-6 md:gap-y-12 lg:grid-cols-12 lg:gap-x-20 xl:gap-x-29" 
777	itemscope 
778	itemtype="https://schema.org/Article"
779	aria-labelledby="featured-title-3163">
780			<a
781			href="https://www.jsmf.org/inclusive-prosperity-partnership/" 
782			class="relative md:col-span-6 xl:col-span-7 block group overflow-hidden" 
783			aria-labelledby="featured-title-3163"
784			data-motion='{"opacity": [0, 1], "duration": 0.8, "easing": "ease-out"}'
785		>
786			<img width="1920" height="1080" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201920%201080'%3E%3C/svg%3E" class="w-full h-auto aspect-[3/2] lg:min-h-122 object-cover object-center transition-transform duration-300 group-hover:scale-[107.38%] group-focus-visible:scale-[107.38%] wp-post-image" alt="Building an Economy that Works: Why We Invested in the Inclusive Prosperity Partnership" itemprop="image" aria-hidden="true" decoding="async" data-lazy-srcset="https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website.jpeg 1920w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-300x169.jpeg 300w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-1024x576.jpeg 1024
786w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-768x432.jpeg 768w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-1536x864.jpeg 1536w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-1280x720.jpeg 1280w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-1706x960.jpeg 1706w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-853x480.jpeg 853w" data-lazy-sizes="(max-width: 1920px) 100vw, 1920px" data-lazy-src="https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website.jpeg" /><noscript><img width="1920" height="1080" src="https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website.jpeg" class="w-full h-auto aspect-[3/2] lg:min-h-122 object-cover object-center transition-transform duration-300 group-hover:scale-[107.38%] group-focus-visible:scale-[107.38%] wp-post-image" alt="Building an Economy that Works: Why We Invested in the Inclusive Prosperity Partnership" itemprop="image" aria-hidden="true" decoding="async" srcset="https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website.jpeg 1920w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-300x169.jpeg 300w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-1024x576.jpeg 1024w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-768x432.jpeg 768w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-1536x864.jpeg 1536w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-1280x720.jpeg 1280w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-1706x960.jpeg 1706w, https://www.jsmf.org/wp-content/uploads/2026/04/IPP-website-853x480.jpeg 853w" sizes="(max-width: 1920px) 100vw, 1920px" /></noscript>			<div class="bg-resilient-red absolute bottom-0 inset-x-0 w-full transition-all duration-300 ease-in-out opacity-0 h-0 group-hover:h-3 group-hover:opacity-100 group-focus-visible:h-3 group-focus-visible:opacity-100"></div>
787		</a>
788		
789	<div class="md:col-span-6 xl:col-span-5 lg:py-6 xl:py-12" data-motion='{"opacity": [0, 1], "duration": 0.8, "delay": 0.1, "easing": "ease-out"}'>
790		
791		<h2 class="text-3xl">
792			<a href="https://www.jsmf.org/inclusive-prosperity-partnership/" 
793				id="featured-title-3163"
794				class="hover:text-resilient-red"
795				itemprop="headline">
796				Building an Economy that Works: Why We Invested in the Inclusive Prosperity Partnership			</a>
797		</h2>
798
799					<div class="mt-2 md:mt-4">
800				<a href="https://www.jsmf.org/category/impact-stories/" 
801					class="text-gray hover:text-black text-[1rem] leading-[1.25] font-sans"
802					itemprop="articleSection"
803					aria-label="
804					Category for Building an Economy that Works: Why We Invested in the Inclusive Prosperity Partnership: Impact Stories					">
805					Impact Stories				</a>
806			</div>
807			
808		<meta itemprop="datePublished" content="2026-06-04T01:00:20-05:00">
809		<meta itemprop="author" content="Brittany Krewson">
810		<meta itemprop="url" content="https://www.jsmf.org/inclusive-prosperity-partnership/">
811	</div>
812</article>
813
814							</div>
815													<div id="impact-story-3165" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.8, "delay": 0.1, "easing": "ease-out"}'>
816								
817<article class="grid grid-cols-1 gap-y-6 md:gap-y-12 lg:grid-cols-12 lg:gap-x-20 xl:gap-x-29" 
818	itemscope 
819	itemtype="https://schema.org/Article"
820	aria-labelledby="featured-title-3165">
821			<a
822			href="https://www.jsmf.org/tornado/" 
823			class="relative md:col-span-6 xl:col-span-7 block group overflow-hidden" 
824			aria-labelledby="featured-title-3165"
825			data-motion='{"opacity": [0, 1], "duration": 0.8, "easing": "ease-out"}'
826		>
827			<img width="1920" height="1080" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201920%201080'%3E%3C/svg%3E" class="w-full h-auto aspect-[3/2] lg:min-h-122 object-cover object-center transition-transform duration-300 group-hover:scale-[107.38%] group-focus-visible:scale-[107.38%] wp-post-image" alt="After the Storm: JSMF Grantee Efforts Since the Tornado" itemprop="image" aria-hidden="true" decoding="async" data-lazy-srcset="https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage.jpeg 1920w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-300x169.jpeg 300w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-1024x576.jpeg 1024
827w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-768x432.jpeg 768w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-1536x864.jpeg 1536w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-1280x720.jpeg 1280w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-1706x960.jpeg 1706w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-853x480.jpeg 853w" data-lazy-sizes="(max-width: 1920px) 100vw, 1920px" data-lazy-src="https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage.jpeg" /><noscript><img width="1920" height="1080" src="https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage.jpeg" class="w-full h-auto aspect-[3/2] lg:min-h-122 object-cover object-center transition-transform duration-300 group-hover:scale-[107.38%] group-focus-visible:scale-[107.38%] wp-post-image" alt="After the Storm: JSMF Grantee Efforts Since the Tornado" itemprop="image" aria-hidden="true" decoding="async" srcset="https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage.jpeg 1920w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-300x169.jpeg 300w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-1024x576.jpeg 1024w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-768x432.jpeg 768w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-1536x864.jpeg 1536w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-1280x720.jpeg 1280w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-1706x960.jpeg 1706w, https://www.jsmf.org/wp-content/uploads/2026/04/tornado-damage-853x480.jpeg 853w" sizes="(max-width: 1920px) 100vw, 1920px" /></noscript>			<div class="bg-perennial-teal absolute bottom-0 inset-x-0 w-full transition-all duration-300 ease-in-out opacity-0 h-0 group-hover:h-3 group-hover:opacity-100 group-focus-visible:h-3 group-focus-visible:opacity-100"></div>
828		</a>
829		
830	<div class="md:col-span-6 xl:col-span-5 lg:py-6 xl:py-12" data-motion='{"opacity": [0, 1], "duration": 0.8, "delay": 0.1, "easing": "ease-out"}'>
831		
832		<h2 class="text-3xl">
833			<a href="https://www.jsmf.org/tornado/" 
834				id="featured-title-3165"
835				class="hover:text-perennial-teal"
836				itemprop="headline">
837				After the Storm: JSMF Grantee Efforts Since the Tornado			</a>
838		</h2>
839
840					<div class="mt-2 md:mt-4">
841				<a href="https://www.jsmf.org/category/impact-stories/" 
842					class="text-gray hover:text-black text-[1rem] leading-[1.25] font-sans"
843					itemprop="articleSection"
844					aria-label="
845					Category for After the Storm: JSMF Grantee Efforts Since the Tornado: Impact Stories					">
846					Impact Stories				</a>
847			</div>
848			
849		<meta itemprop="datePublished" content="2026-05-15T10:27:20-05:00">
850		<meta itemprop="author" content="Brittany Krewson">
851		<meta itemprop="url" content="https://www.jsmf.org/tornado/">
852	</div>
853</article>
854
855							</div>
856										</div>
857
858				<div class="mt-12 md:mt-20 text-center" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.6, "delay": 0.1, "easing": "ease-out"}'>
859											<a href="https://www.jsmf.org/category/impact-stories/" class="inline-block font-sans text-base font-bold btn-link after:bg-resilient-red">
860							View More Impact Stories +						</a>
861									</div>
862			</div>
863		</section>
864	
865	<!-- Related News & Ideas Section -->
866			<section class="pb-20 md:pb-38 bg-white relative z-10 related-posts" aria-labelledby="related-news-heading">
867			<div class="wrapper">
868				<!-- Section Header -->
869				<div class="@container">
870					<div class="flex flex-col items-start @3xl:flex-row @3xl:items-end @3xl:justify-start gap-x-8 gap-y-4 mb-14 md:mb-12">
871						<h2 id="related-posts-heading" class="text-5xl text-ardent-orange" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "easing": "ease-out"}'>
872							The Latest News &amp; Ideas						</h2>
873						<a href="https://www.jsmf.org/news-ideas/" 
874							class="inline-block font-sans text-base font-bold btn-link after:bg-ardent-orange"
875							aria-label="View all news and ideas"
876							data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.6, "delay": 0.1, "easing": "ease-out"}'>
877							<span aria-hidden="true">View All </span>
878						</a>
879					</div>
880				</div>
881
882				<!-- Related Posts Grid -->
883				<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-12 grid-rows-[auto_auto_auto] posts">
884					
885<article
886	id="post-card-3194" 
887	class="@container" 
888	itemscope 
889	itemtype="https://schema.org/Article"
890	aria-labelledby="post-title-3194"
891	data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "easing": "ease-out"}'
892>
893		<style>
894		#post-card-3194 {
895			--card-color: var(--color-berry);
896		}
897	</style>
898
899			<a href="https://www.jsmf.org/spring-2026-grants/" 
900			class="block group mb-4 @xl:mb-5" 
901			aria-labelledby="post-title-3194">
902			<div class="aspect-[3/2] w-full overflow-hidden relative">
903				<img width="1920" height="880" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201920%20880'%3E%3C/svg%3E" class="w-full h-full object-cover object-center transition-transform duration-300 group-hover:scale-[107.38%] group-focus-visible:scale-[107.38%] relative wp-post-image" alt="JSMF Announces Three 2026 Grants Totaling $2.2 Million" itemprop="image" aria-hidden="true" decoding="async" data-lazy-srcset="https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1.png 1920w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-300x138.png 300w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-1024x469.png 1024w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-768x352.png 768w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-1536x704.png 1536w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-1280x587.png 1280w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-1706x782.png 1706w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-853x391.png 853w" data-lazy-sizes="(max-width: 1920px) 100vw, 1920px" data-lazy-src="https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1.png" /><noscript><img width="1920" height="880" src="https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1.png" class="w-full h-full object-cover object-center transition-transform duration-300 group-hover:scale-[107.38%] group-focus-visible:scale-[107.38%] relative wp-post-image" alt="JSMF Announces Three 2026 Grants Totaling $2.2 Million" itemprop="image" aria-hidden="true" decoding="async" srcset="https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1.png 1920w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-300x138.png 300w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-1024x469.png 1024w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-768x352.png 768w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-1536x704.png 1536w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-1280x587.png 1280w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-1706x782.png 1706w, https://www.jsmf.org/wp-content/uploads/2026/06/Spring-2026-Grantees-1-853x391.png 853w" sizes="(max-width: 1920px) 100vw, 1920px" /></noscript>				<div class="absolute inset-x-0 bottom-0 w-full transition-all duration-300 ease-in-out h-0 opacity-0 origin-bottom group-hover:h-3 group-focus-visible:h-3 group-hover:opacity-100 group-focus-visible:opacity-100 bg-[var(--card-color)] z-10"></div>
904			</div>
905		</a>
906		
907			<div>
908			<h2 class="max-w-162 mb-2">
909				<a
910					href="https://www.jsmf.org/spring-2026-grants/" 
911					id="post-title-3194"
912					class="font-sans font-bold inline bg-[linear-gradient(0deg_,transparent,_currentColor)] [background-position:200%_85%] [background-size:200%_0.0625rem] bg-no-repeat hover:[background-position:100%_85%] text-xl @xl:text-2xl"
913					itemprop="headline"
914				>
915					JSMF Announces Three 2026 Grants Totaling $2.2 Million				</a>
916			</h2>
917							<a href="https://www.jsmf.org/category/news/" 
918					class="block text-gray hover:text-black text-[1rem] leading-[1.25] font-sans"
919					itemprop="articleSection"
920					aria-label="
921					Category for JSMF Announces Three 2026 Grants Totaling $2.2 Million: News					">
922					News				</a>
923						</div>
924		
925	
926	<meta itemprop="datePublished" content="2026-07-28T01:00:38-05:00">
927	<meta itemprop="author" content="Brittany Krewson">
928	<meta itemprop="url" content="https://www.jsmf.org/spring-2026-grants/">
929</article> 
930
931<article
932	id="post-card-3074" 
933	class="@container" 
934	itemscope 
935	itemtype="https://schema.org/Article"
936	aria-labelledby="post-title-3074"
937	data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "easing": "ease-out", "delay": 0.1}'
938>
939		<style>
940		#post-card-3074 {
941			--card-color: var(--color-sky);
942		}
943	</style>
944
945			<a href="https://www.jsmf.org/new-grants-fall-2025/" 
946			class="block group mb-4 @xl:mb-5" 
947			aria-labelledby="post-title-3074">
948			<div class="aspect-[3/2] w-full overflow-hidden relative">
949				<img width="2560" height="1141" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%202560%201141'%3E%3C/svg%3E" class="w-full h-full object-cover object-center transition-transform duration-300 group-hover:scale-[107.38%] group-focus-visible:scale-[107.38%] relative wp-post-image" alt="New Grants Totaling $9 Million Support Workforce Systems, Homeownership, and Civic Dialogue" itemprop="image" aria-hidden="true" decoding="async" data-lazy-srcset="https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-scaled.png 2560w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-300x134.png 300w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-1024x456.png 1024w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-768x342.png 768w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-1536x685.png 1536w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-2048x913.png 2048w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-1280x570.png 1280w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-1706x760.png 1706w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-853x380.png 853w" data-lazy-sizes="(max-width: 2560px) 100v
949w, 2560px" data-lazy-src="https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-scaled.png" /><noscript><img width="2560" height="1141" src="https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-scaled.png" class="w-full h-full object-cover object-center transition-transform duration-300 group-hover:scale-[107.38%] group-focus-visible:scale-[107.38%] relative wp-post-image" alt="New Grants Totaling $9 Million Support Workforce Systems, Homeownership, and Civic Dialogue" itemprop="image" aria-hidden="true" decoding="async" srcset="https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-scaled.png 2560w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-300x134.png 300w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-1024x456.png 1024w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-768x342.png 768w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-1536x685.png 1536w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-2048x913.png 2048w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-1280x570.png 1280w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-1706x760.png 1706w, https://www.jsmf.org/wp-content/uploads/2025/10/August-2025-Grantees-Newsletter-2-853x380.png 853w" sizes="(max-width: 2560px) 100v
949w, 2560px" /></noscript>				<div class="absolute inset-x-0 bottom-0 w-full transition-all duration-300 ease-in-out h-0 opacity-0 origin-bottom group-hover:h-3 group-focus-visible:h-3 group-hover:opacity-100 group-focus-visible:opacity-100 bg-[var(--card-color)] z-10"></div>
950			</div>
951		</a>
952		
953			<div>
954			<h2 class="max-w-162 mb-2">
955				<a
956					href="https://www.jsmf.org/new-grants-fall-2025/" 
957					id="post-title-3074"
958					class="font-sans font-bold inline bg-[linear-gradient(0deg_,transparent,_currentColor)] [background-position:200%_85%] [background-size:200%_0.0625rem] bg-no-repeat hover:[background-position:100%_85%] text-xl @xl:text-2xl"
959					itemprop="headline"
960				>
961					New Grants Totaling $9 Million Support Workforce Systems, Homeownership, and Civic Dialogue				</a>
962			</h2>
963							<a href="https://www.jsmf.org/category/news/" 
964					class="block text-gray hover:text-black text-[1rem] leading-[1.25] font-sans"
965					itemprop="articleSection"
966					aria-label="
967					Category for New Grants Totaling $9 Million Support Workforce Systems, Homeownership, and Civic Dialogue: News					">
968					News				</a>
969						</div>
970		
971	
972	<meta itemprop="datePublished" content="2025-10-30T13:13:38-05:00">
973	<meta itemprop="author" content="Brittany Krewson">
974	<meta itemprop="url" content="https://www.jsmf.org/new-grants-fall-2025/">
975</article> 
976				</div>
977			</div>
978		</section>
979	</article>
980
981
982	</main><!-- #content -->
983
984	
985<footer id="colophon" class="pb-5 md:pb-8 bg-white relative z-10">
986	<div class="wrapper">
987		<!-- Main Footer Content - Newsletter, Social, Menu -->
988		<div class="px-4 pt-20 bg-perennial-teal pb-13 md:pb-12 md:pt-34 md:px-12 lg:px-20">
989			<!-- Newsletter Section - Two Column Layout -->
990			<div class="flex flex-col items-center text-white lg:flex-row gap-y-14 lg:gap-x-16 xl:gap-x-32">
991				<!-- Left Column - Newsletter Text -->
992				<div class="w-full lg:w-[54%] text-center lg:text-left" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "easing": "ease-out"}'>
993					<h2 class="text-[2.75rem] max-md:leading-[1.04545455] md:text-5xl xl:text-7xl font-serif mb-2 md:mb-6">Stay Connected</h2>
994					<p class="mb-8 font-sans text-xl">Sign up for our newsletter to stay updated on the latest JSMF news and funding opportunities.</p>
995				</div>
996				<!-- Right Column - Newsletter Form -->
997				<!-- Uses unique ID for footer-specific form styles -->
998				<div id="footer-newsletter" class="w-full lg:w-[46%]" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "delay": 0.2, "easing": "ease-out"}'>
999					
1000                <div class='gf_browser_chrome gform_wrapper gform-theme gform-theme--foundation gform-theme--framework gform-theme--orbital' data-form-theme='orbital' data-form-index='0' id='gform_wrapper_1' ><style>#gform_wrapper_1[data-form-index="0"].gform-theme{--gf-color-primary: #204ce5;--gf-color-primary-rgb: 32, 76, 229;--gf-color-primary-contrast: #fff;--gf-color-primary-contrast-rgb: 255, 255, 255;--gf-color-primary-darker: #001AB3;--gf-color-primary-lighter: #527EFF;--gf-color-secondary: #fff;--gf-color-secondary-rgb: 255, 255, 255;--gf-color-secondary-contrast: #112337;--gf-color-secondary-contrast-rgb: 17, 35, 55;--gf-color-secondary-darker: #F5F5F5;--gf-color-secondary-lighter: #FFFFFF;--gf-color-out-ctrl-light: rgba(17, 35, 55, 0.1);--gf-color-out-ctrl-light-rgb: 17, 35, 55;--gf-color-out-ctrl-light-darker: rgba(104, 110, 119, 0.35);--gf-color-out-ctrl-light-lighter: #F5F5F5;--gf-color-out-ctrl-dark: #585e6a;--gf-color-out-ctrl-dark-rgb: 88, 94, 106;--gf-color-out-ctrl-dark-darker: #112337;--gf-color-out-ctrl-dark-lighter: rgba(17, 35, 55, 0.65);--gf-color-in-ctrl: #fff;--gf-color-in-ctrl-rgb: 255, 255, 255;--gf-color-in-ctrl-contrast: #112337;--gf-color-in-ctrl-contrast-rgb: 17, 35, 55;--gf-color-in-ctrl-darker: #F5F5F5;--gf-color-in-ctrl-lighter: #FFFFFF;--gf-color-in-ctrl-primary: #204ce5;--gf-color-in-ctrl-primary-rgb: 32, 76, 229;--gf-color-in-ctrl-primary-contrast: #fff;--gf-color-in-ctrl-primary-contrast-rgb: 255, 255, 255;--gf-color-in-ctrl-primary-darker: #001AB3;--gf-color-in-ctrl-primary-lighter: #527EFF;--gf-color-in-ctrl-light: rgba(17, 35, 55, 0.1);--gf-color-in-ctrl-light-rgb: 17, 35, 55;--gf-color-in-ctrl-light-darker: rgba(104, 110, 119, 0.35);--gf-color-in-ctrl-light-lighter: #F5F5F5;--gf-color-in-ctrl-dark: #585e6a;--gf-color-in-ctrl-dark-rgb: 88, 94, 106;--gf-color-in-ctrl-dark-darker: #112337;--gf-color-in-ctrl-dark-lighter: rgba(17, 35, 55, 0.65);--gf-radius: 3px;--gf-font-size-secondary: 14px;--gf-font-size-tertiary: 13px;--gf-icon-ctrl-number: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893
1000C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z' fill='rgba(17, 35, 55, 0.65)'/%3E%3C/svg%3E");--gf-icon-ctrl-select: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='rgba(17, 35, 55, 0.65)'/%3E%3C/svg%3E");--gf-icon-ctrl-search: url("data:image/svg+xml,%3Csvg width='640' height='640' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M256 128c-70.692 0-128 57.308-128 128 0 70.691 57.308 128 128 128 70.691 0 128-57.309 128-128 0-70.692-57.309-128-128-128zM64 256c0-106.039 85.961-192 192-192s192 85.961 192 192c0 41.466-13.146 79.863-35.498 111.248l154.125 154.125c12.496 12.496 12.496 32.758 0 45.254s-32.758 12.496-45.254 0L367.248 412.502C335.862 434.854 297.467 448 256 448c-106.039 0-192-85.962-192-192z' fill='rgba(17, 35, 55, 0.65)'/%3E%3C/svg%3E");--gf-label-space-y-secondary: var(--gf-label-space-y-md-secondary);--gf-ctrl-border-color: #686e77;--gf-ctrl-size: var(--gf-ctrl-size-md);--gf-ctrl-label-color-primary: #112337;--gf-ctrl-label-color-secondary: #112337;--gf-ctrl-choice-size: var(--gf-ctrl-choice-size-md);--gf-ctrl-checkbox-check-size: var(--gf-ctrl-checkbox-check-size-md);--gf-ctrl-radio-check-size: var(--gf-ctrl-radio-check-size-md);--gf-ctrl-btn-font-size: var(--gf-ctrl-btn-font-size-md);--gf-ctrl-btn-padding-x: var(--gf-ctrl-btn-padding-x-md);--gf-ctrl-btn-size: var(--gf-ctrl-btn-size-md);--gf-ctrl-btn-border-color-secondary: #686e77;--gf-ctrl-btn-bg-color-hover-tertiary: #EBEBEB;--gf-field-img-choice-size: var(--gf-field-img-choice-size-md);--gf-field-img-choice-card-space: var(--gf-field-img-choice-card-space-md);--gf-field-img-choice-check-ind-size: var(--gf-field-img-choice-check-ind-size-md);--gf-field-img-choice-check-ind-icon-size: var(--gf-field-img-choice-check-ind-icon-size-md);--gf-field-pg-steps-number-color: rgba(17, 35, 55, 0.8);}</style><div id='gf_1' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_1' id='gform_1'  action='/focus-areas/civic-infrastructure/#gf_1' data-formid='1' novalidate>
1001                        <div class='gform-body gform_body'><div id='gform_fields_1' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id="field_1_1" class="gfield gfield--type-email gfield--input-type-email field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible"  ><label class='gfield_label gform-field-label' for='input_1_1'><span class='gform-field-label__text'>Email</span></label><div class='ginput_container ginput_container_email'>
1002                            <input name='input_1' id='input_1_1' type='email' value='' class='large'   placeholder='Email'  aria-invalid="false"  />
1003                        </div></div></div></div>
1004        <div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_1' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' >Sign Up</button> <input type='hidden' name='gform_ajax' value='form_id=1&amp;title=&amp;description=&amp;tabindex=0&amp;theme=orbital&amp;hash=d443ac778972664c43208968009c4658' />
1005            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_1' value='iframe' />
1006            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_1' id='gform_theme_1' value='orbital' />
1007            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_1' id='gform_style_settings_1' value='' />
1008            <input type='hidden' class='gform_hidden' name='is_submit_1' value='1' />
1009            <input type='hidden' class='gform_hidden' name='gform_submit' value='1' />
1010            
1011            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='USD' value='sPWcN54lcoRE/ihA10a70mrH/lPVcEsuxv4krdXX4COUmWRXOy7Cd+2iHnBVmeKr3YP7jgBSgvm/zqtHcYvKvbFqeta58wN84nRPLeWrHYWjsfs=' />
1012            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' />
1013            <input type='hidden' class='gform_hidden' name='state_1' value='WyJ7XCJnZm9ybV9zdWJtaXNzaW9uX21ldGhvZFwiOltcIjA4YmQxZDkzNDA5M2QzYzIxYTdhNmMxYjU2MDRjODE5XCIsXCIzMGI1ZWUwNDllNTc4MzBlMjZhYzBhZmY4MDM3ZWRiYVwiLFwiY2FiOWY3YTQxZmI3MDkyY2U2ZmY3NzY4N2ExZTQ3MWFcIl0sXCJnZm9ybV90aGVtZVwiOlwiYWJkMmE3Mzg2YTE0ODRhOTBmOWY2MGZiY2Y5NGU1N2ZcIixcImdmb3JtX3N0eWxlX3NldHRpbmdzXCI6XCJiNzcxMWE3YTQxNTY2NDY3MWU3OWIyOGM3ODNmZjQ1NFwiLFwiZm9ybV9pZFwiOlwiZmI0NmY1Y2Y4MzZkNzY1MGIyMDM3OGIxMDlhNWQyNjRcIixcInVybFwiOlwiNTM4NjNmNjc2MTUyMDM0N2QxZDM2NmM5NGEyYjNiYjJcIixcInN0YXRlX3RpbWVzdGFtcFwiOlwiOTI0YzRhZjVhZjI3MGMyODkwNzJiMWZkNTJhMGQzZGRcIn0iLCIzYWYzY2FmYjMwZGQ0OGI3MDE4MzNmNjg5MjA4M2QzZCIsMTc5MDIyNDM4Ml0=' />
1014            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_1' id='gform_target_page_number_1' value='0' />
1015            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_1' id='gform_source_page_number_1' value='1' />
1016            <input type='hidden' name='gform_field_values' value='' />
1017            
1018        </div>
1019                        </form>
1020                        </div>
1021		                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_1' id='gform_ajax_frame_1' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe>
1022		                
1022<script>
1023gform.initializeOnLoaded( function() {jQuery('#gform_ajax_frame_1').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_1');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_1').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_1').offset().top - mt); }, 50 );var current_page = jQuery('#gform_source_page_number_1').val();jQuery(document).trigger('gform_page_loaded', [1, current_page]);window['gf_submitting_1'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_1').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_1').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [1]);window['gf_submitting_1'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1').text());}else{jQuery('#gform_1').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "1", currentPage: "current_page", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( "gform_wrapper_1" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( "span" );            visibilitySpan.id = "gform_visibility_test_1";            gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( "gform_visibility_test_1" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 1, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );
1024</script>
1024
1025				</div>
1026			</div>
1027
1028			<!-- Social Media Links - From ACF Options -->
1029			<!-- Centered grid of icons with hover effects -->
1030							<nav aria-label="Social media links" class="flex items-center justify-center pt-24 gap-x-3 lg:pt-46" data-motion-scroll>
1031					<h2 class="sr-only">Connect with us on social media</h2>
1032											<a href="https://www.facebook.com/JSMFSTL/" 
1033														aria-label="Visit our facebook-f page"
1034							target="_blank" 
1035							rel="noopener"
1036							class="flex items-center justify-center text-xl text-white transition-opacity hover:opacity-40 focus:opacity-40 w-9 h-9"
1037							data-motion='{"opacity": [0, 1], "duration": 0.5, "delay": 0.1, "easing": "ease-out"}'
1038						>
1039							<i class="fa-brands fa-facebook-f" aria-hidden="true"></i>
1040						</a>
1041												<a href="https://www.instagram.com/jsmfstl" 
1042														aria-label="Visit our instagram page"
1043							target="_blank" 
1044							rel="noopener"
1045							class="flex items-center justify-center text-xl text-white transition-opacity hover:opacity-40 focus:opacity-40 w-9 h-9"
1046							data-motion='{"opacity": [0, 1], "duration": 0.5, "delay": 0.18, "easing": "ease-out"}'
1047						>
1048							<i class="fa-brands fa-instagram" aria-hidden="true"></i>
1049						</a>
1050												<a href="https://www.linkedin.com/company/jsmf/" 
1051														aria-label="Visit our linkedin-in page"
1052							target="_blank" 
1053							rel="noopener"
1054							class="flex items-center justify-center text-xl text-white transition-opacity hover:opacity-40 focus:opacity-40 w-9 h-9"
1055							data-motion='{"opacity": [0, 1], "duration": 0.5, "delay": 0.26, "easing": "ease-out"}'
1056						>
1057							<i class="fa-brands fa-linkedin-in" aria-hidden="true"></i>
1058						</a>
1059												<a href="https://www.youtube.com/@JSMFSTL" 
1060														aria-label="Visit our youtube page"
1061							target="_blank" 
1062							rel="noopener"
1063							class="flex items-center justify-center text-xl text-white transition-opacity hover:opacity-40 focus:opacity-40 w-9 h-9"
1064							data-motion='{"opacity": [0, 1], "duration": 0.5, "delay": 0.34, "easing": "ease-out"}'
1065						>
1066							<i class="fa-brands fa-youtube" aria-hidden="true"></i>
1067						</a>
1068										</nav>
1069				
1070			<!-- Footer Menu - Single Level Navigation -->
1071			<!-- Centered menu with consistent spacing and hover effects -->
1072							<nav aria-label="Footer menu" class="pt-6 md:pt-3" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.6, "delay": 0.1, "easing": "ease-out"}'>
1073					<ul id="menu-footer-menu" class="flex flex-wrap justify-center gap-x-4 md:gap-x-6 gap-y-3.5 md:gap-y-4 text-white font-sans text-base font-bold [&amp;&gt;*]:hover:text-white/40 [&amp;&gt;*]:focus:text-white/40"><li id="menu-item-3028" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3028"><a href="https://www.jsmf.org/our-mission/">Our Mission</a></li>
1074<li id="menu-item-74" class="menu-item menu-item-type-post_type_archive menu-item-object-focus-areas menu-item-74"><a href="https://www.jsmf.org/focus-areas/">Areas of Focus</a></li>
1075<li id="menu-item-2820" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2820"><a href="https://www.jsmf.org/people/">Who We Are</a></li>
1076<li id="menu-item-76" class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-76"><a href="https://www.jsmf.org/news-ideas/">News &#038; Ideas</a></li>
1077<li id="menu-item-77" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77"><a href="https://www.jsmf.org/grants/">Grants</a></li>
1078<li id="menu-item-3260" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3260"><a href="/careers">Careers</a></li>
1079<li id="menu-item-78" class="account-login menu-item menu-item-type-custom menu-item-object-custom menu-item-78"><a target="_blank" href="https://jsmf.smartsimple.com/s_Login.jsp">Account Login</a></li>
1080</ul>				</nav>
1081				
1082		</div>
1083		<!-- Footer Bottom - Logo and Copyright -->
1084		<!-- White background section with centered content -->
1085		<div class="flex flex-col items-center pt-10 bg-white md:pt-12 gap-y-10 md:gap-y-14">
1086			<!-- Footer Logo - SVG for retina support -->
1087			<a 
1088				href="https://www.jsmf.org/" 
1089				class="site-logo" 
1090				aria-label="JSMF"
1091				data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.7, "easing": "ease-out"}'
1092			>
1093				<img class="block h-auto w-46 md:w-60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="JSMF James S. McDonnell Foundation Logo" data-lazy-src="https://www.jsmf.org/wp-content/themes/jsmf/img/logo-footer.svg"><noscript><img class="block h-auto w-46 md:w-60" src="https://www.jsmf.org/wp-content/themes/jsmf/img/logo-footer.svg" alt="JSMF James S. McDonnell Foundation Logo"></noscript>
1094			</a>
1095			<!-- Copyright and Privacy Policy -->
1096			<!-- Uses WP core function for privacy policy URL -->
1097			<small class="text-base md:text-[1rem] font-sans text-center" data-motion-scroll data-motion='{"opacity": [0, 1], "duration": 0.6, "delay": 0.1, "easing": "ease-out"}'>
1098				&copy; 2026 James S. McDonnell Foundation. All rights reserved. | <a href="https://www.jsmf.org/privacy-policy/">Privacy Policy</a>
1099			</small>
1100			<button id="scrollToTopBtn" class="scroll-to-top-btn flex font-sans text-base font-bold fixed z-1000 bg-perennial-teal text-white rounded-full px-1.5 py-0.5 shadow-[0_2px_8px_rgba(0,0,0,0.08)] opacity-0 pointer-events-none cursor-pointer outline-none display-flex align-items-center gap-2 border-3 solid border-perennial-teal hover:bg-transparent group transition-all duration-300 ease-in-out focus-visible:opacity-100 right-12.5 bottom-9.5" aria-label="Scroll to top" type="button">
1101				<svg width="14" height="9" viewBox="0 0 14 9" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-[0.838125rem] h-auto block rotate-180">
1102					<path fill-rule="evenodd" clip-rule="evenodd" d="M0.292969 1.70718L1.70718 0.292969L7.00008 5.58586L12.293 0.292969L13.7072 1.70718L7.00008 8.41429L0.292969 1.70718Z" class="fill-white group-hover:fill-perennial-teal transition-all duration-300 ease-in-out"/>
1103				</svg>
1104				<span class="group-hover:text-perennial-teal transition-all duration-300 ease-in-out">To Top</span>
1105			</button>
1106		</div>
1107	</div>
1108</footer>
1109
1110</div><!-- #page -->
1111
1112<script type="speculationrules">
1113{"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/jsmf/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1114</script>
vendor: 1 bytes, line 1114
1114
1115<script id="leadin-script-loader-js-js-extra">
1116var leadin_wordpress = {"userRole":"visitor","pageType":"post","leadinPluginVersion":"11.3.75"};
1117//# sourceURL=leadin-script-loader-js-js-extra
1118</script>
vendor: 1 bytes, line 1118
1118
1119<script async defer id='hs-script-loader' src="https://js-na2.hs-scripts.com/245068239.js?integration=WordPress&#038;ver=11.3.75"></script>
vendor: 1 bytes, line 1119
1119
1120<script id="jsmf-script-js-extra">
1121var jsmf_ajax = {"ajax_url":"https://www.jsmf.org/wp-admin/admin-ajax.php","nonce":"3ddab43415"};
1122var jsmf_ajax = {"ajax_url":"https://www.jsmf.org/wp-admin/admin-ajax.php","nonce":"3ddab43415"};
1123//# sourceURL=jsmf-script-js-extra
1124</script>
vendor: 1 bytes, line 1124
1124
1125<script id="jsmf-script-js" src="https://www.jsmf.org/wp-content/themes/jsmf/js/script.min.js?ver=0.4.15"></script>
vendor: 1 bytes, line 1125
1125
1126<script id="alpinejs-focus-js" defer src="https://unpkg.com/@alpinejs/[email protected]/dist/cdn.min.js"></script>
vendor: 1 bytes, line 1126
1126
1127<script id="alpinejs-js" defer src="https://unpkg.com/[email protected]/dist/cdn.min.js"></script>
vendor: 1 bytes, line 1127
1127
1128<script id="plyr-js" src="https://cdn.plyr.io/3.7.8/plyr.polyfilled.js?ver=3.7.8"></script>
vendor: 1 bytes, line 1128
1128
1129<script id="export-script-js-extra">
1130var ajaxurl = "https://www.jsmf.org/wp-admin/admin-ajax.php";
1131//# sourceURL=export-script-js-extra
1132</script>
vendor: 1 bytes, line 1132
1132
1133<script id="export-script-js" src="https://www.jsmf.org/wp-content/themes/jsmf/js/export.js?ver=1.0.0"></script>
vendor: 1 bytes, line 1133
1133
1134<script id="googlesitekit-events-provider-content-events-js-before">
1135window._googlesitekit = window._googlesitekit || {};
1136window._googlesitekit.contentEvents = {"postID":36,"isSinglePost":false,"hasVimeoEmbed":false};
1137//# sourceURL=googlesitekit-events-provider-content-events-js-before
1138</script>
vendor: 1 bytes, line 1138
1138
1139<script id="googlesitekit-events-provider-content-events-js" src="https://www.jsmf.org/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-c7172f3fd0e4d5ad62ef.js" defer></script>
vendor: 1 bytes, line 1139
1139
1140<script id="wp-dom-ready-js" src="https://www.jsmf.org/wp-includes/js/dist/dom-ready.min.js?ver=3fe927cab37bf38d6a23"></script>
vendor: 1 bytes, line 1140
1140
1141<script id="wp-hooks-js" src="https://www.jsmf.org/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 1141
1141
1142<script id="wp-i18n-js" src="https://www.jsmf.org/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 1142
1142
1143<script id="wp-i18n-js-after">
1144wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
1145//# sourceURL=wp-i18n-js-after
1146</script>
vendor: 1 bytes, line 1146
1146
1147<script id="wp-a11y-js" src="https://www.jsmf.org/wp-includes/js/dist/a11y.min.js?ver=31c6cec5a4ff7aff483d"></script>
vendor: 1 bytes, line 1147
1147
1148<script id="gform_json-js" defer='defer' src="https://www.jsmf.org/wp-content/plugins/gravityforms/js/jquery.json.min.js?ver=3.1.2"></script>
vendor: 1 bytes, line 1148
1148
1149<script id="gform_gravityforms-js-extra">
1150var gform_i18n = {"datepicker":{"wdOffset":1,"helpTextShort":"Press F1 for help","helpText":"Press the arrow keys to navigate by day, PageUp and PageDown to navigate by month, Alt+PageUp and Alt+PageDown to navigate by year, or Escape to cancel.","openOnFocusHelpText":"Press Down arrow to browse the calendar, or Escape to close.","tooltipTxt":"Press Escape to cancel","disabledTxt":"Disabled","markedTxt":"Selected","prevTxt":"Previous","nextTxt":"Next","monthTxt":"Month","yearTxt":"Year","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"days":[{"s":"S","l":"Sunday"},{"s":"M","l":"Monday"},{"s":"T","l":"Tuesday"},{"s":"W","l":"Wednesday"},{"s":"T","l":"Thursday"},{"s":"F","l":"Friday"},{"s":"S","l":"Saturday"}]}};
1151var gf_legacy_multi = [];
1152var gform_gravityforms = {"strings":{"invalid_file_extension":"This type of file is not allowed. Must be one of the following:","file_uploaded":"File uploaded","delete_file":"Delete this file","in_progress":"in progress","file_exceeds_limit":"File exceeds size limit","illegal_extension":"This type of file is not allowed.","max_reached":"Maximum number of files reached","unknown_error":"There was a problem while saving the file on the server","currently_uploading":"Please wait for the uploading to complete","cancel":"Cancel","cancel_upload":"Cancel this upload","cancelled":"Cancelled","error":"Error","message":"Message"},"vars":{"images_url":"https://www.jsmf.org/wp-content/plugins/gravityforms/images"}};
1153var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https://www.jsmf.org/wp-content/plugins/gravityforms","number_formats":[],"version_hash":"38128d61be2f3b142dda9d864b268f7a","countries":{"AF":"Afghanistan","AX":"\u00c5land Islands","AL":"Albania","DZ":"Algeria","AS":"American Samoa","AD":"Andorra","AO":"Angola","AI":"Anguilla","AQ":"Antarctica","AG":"Antigua and Barbuda","AR":"Argentina","AM":"Armenia","AW":"Aruba","AU":"Australia","AT":"Austria","AZ":"Azerbaijan","BS":"Bahamas","BH":"Bahrain","BD":"Bangladesh","BB":"Barbados","BY":"Belarus","BE":"Belgium","BZ":"Belize","BJ":"Benin","BM":"Bermuda","BT":"Bhutan","BO":"Bolivia","BQ":"Bonaire, Sint Eustatius and Saba","BA":"Bosnia and Herzegovina","BW":"Botswana","BV":"Bouvet Island","BR":"Brazil","IO":"British Indian Ocean Territory","BN":"Brunei Darussalam","BG":"Bulgaria","BF":"Burkina Faso","BI":"Burundi","CV":"Cabo Verde","KH":"Cambodia","CM":"Cameroon","CA":"Canada","KY":"Cayman Islands","CF":"Central African Republic","TD":"Chad","CL":"Chile","CN":"China","CX":"Christmas Island","CC":"Cocos Islands","CO":"Colombia","KM":"Comoros","CD":"Congo, Democratic Republic of the","CG":"Congo","CK":"Cook Islands","CR":"Costa Rica","CI":"C\u00f4te d'Ivoire","HR":"Croatia","CU":"Cuba","CW":"Cura\u00e7ao","CY":"Cyprus","CZ":"Czechia","DK":"Denmark","DJ":"Djibouti","DM":"Dominica","DO":"Dominican Republic","EC":"Ecuador","EG":"Egypt","SV":"El Salvador","GQ":"Equatorial Guinea","ER":"Eritrea","EE":"Estonia","SZ":"Eswatini","ET":"Ethiopia","FK":"Falkland Islands","FO":"Faroe Islands","FJ":"Fiji","FI":"Finland","FR":"France","GF":"French Guiana","PF":"French Polynesia","TF":"French Southern Territories","GA":"Gabon","GM":"Gambia","GE":"Georgia","DE":"Germany","GH":"Ghana","GI":"Gibraltar","GR":"Greece","GL":"Greenland","GD":"Grenada","GP":"Guadeloupe","GU":"Guam","GT":"Guatemala","GG":"Guernsey","GN":"Guinea","GW":"Guinea-Bissau","GY":"Guyana","HT":"Haiti","HM":"Heard Island and McDonald Islands","VA":"Holy See","HN":"Honduras","HK":"Hong Kong","HU":"Hungary","IS":"Iceland","IN":"India","ID":"Indonesia","IR":"Iran","IQ":"Iraq","IE":"Ireland","IM":"Isle of Man","IL":"Israel","IT":"Italy","JM":"Jamaica","JP":"Japan","JE":"Jersey","JO":"Jordan","KZ":"Kazakhstan","KE":"Kenya","KI":"Kiribati","KP":"Korea, Democratic People's Republic of","KR":"Korea, Republic of","KW":"Kuwait","KG":"Kyrgyzstan","LA":"La
1153o People's Democratic Republic","LV":"Latvia","LB":"Lebanon","LS":"Lesotho","LR":"Liberia","LY":"Libya","LI":"Liechtenstein","LT":"Lithuania","LU":"Luxembourg","MO":"Macao","MG":"Madagascar","MW":"Malawi","MY":"Malaysia","MV":"Maldives","ML":"Mali","MT":"Malta","MH":"Marshall Islands","MQ":"Martinique","MR":"Mauritania","MU":"Mauritius","YT":"Mayotte","MX":"Mexico","FM":"Micronesia","MD":"Moldova","MC":"Monaco","MN":"Mongolia","ME":"Montenegro","MS":"Montserrat","MA":"Morocco","MZ":"Mozambique","MM":"Myanmar","NA":"Namibia","NR":"Nauru","NP":"Nepal","NL":"Netherlands","NC":"New Caledonia","NZ":"New Zealand","NI":"Nicaragua","NE":"Niger","NG":"Nigeria","NU":"Niue","NF":"Norfolk Island","MK":"North Macedonia","MP":"Northern Mariana Islands","NO":"Norway","OM":"Oman","PK":"Pakistan","PW":"Palau","PS":"Palestine, State of","PA":"Panama","PG":"Papua New Guinea","PY":"Paraguay","PE":"Peru","PH":"Philippines","PN":"Pitcairn","PL":"Poland","PT":"Portugal","PR":"Puerto Rico","QA":"Qatar","RE":"R\u00e9union","RO":"Romania","RU":"Russian Federation","RW":"Rwanda","BL":"Saint Barth\u00e9lemy","SH":"Saint Helena, Ascension and Tristan da Cunha","KN":"Saint Kitts and Nevis","LC":"Saint Lucia","MF":"Saint Martin","PM":"Saint Pierre and Miquelon","VC":"Saint Vincent and the Grenadines","WS":"Samoa","SM":"San Marino","ST":"Sao Tome and Principe","SA":"Saudi Arabia","SN":"Senegal","RS":"Serbia","SC":"Seychelles","SL":"Sierra Leone","SG":"Singapore","SX":"Sint Maarten","SK":"Slovakia","SI":"Slovenia","SB":"Solomon Islands","SO":"Somalia","ZA":"South Africa","GS":"South Georgia and the South Sandwich Islands","SS":"South Sudan","ES":"Spain","LK":"Sri Lanka","SD":"Sudan","SR":"Suriname","SJ":"Svalbard and Jan Mayen","SE":"Sweden","CH":"Switzerland","SY":"Syria Arab Republic","TW":"Taiwan","TJ":"Tajikistan","TZ":"Tanzania, the United Republic of","TH":"Thailand","TL":"Timor-Leste","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad and Tobago","TN":"Tunisia","TR":"T\u00fcrkiye","TM":"Turkmenistan","TC":"Turks and Caicos Islands","TV":"Tuvalu","UG":"Uganda","UA":"Ukraine","AE":"United Arab Emirates","GB":"United Kingdom","US":"United States","UY":"Uruguay","UM":"US Minor Outlying Islands","UZ":"Uzbekistan","VU":"Vanuatu","VE":"Venezuela","VN":"Viet Nam","VG":"Virgin Islands, British","VI":"Virgin Islands, U.S.","WF":"Wallis and Futuna","EH":"Western Sahara","YE":"Yemen","ZM":"Zambia","ZW":"Zimbabwe"},"strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved.  The content contains the link to return and complete the form."}};
1154var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https://www.jsmf.org/wp-content/plugins/gravityforms","number_formats":[],"version_hash":"38128d61be2f3b142dda9d864b268f7a","countries":{"AF":"Afghanistan","AX":"\u00c5land Islands","AL":"Albania","DZ":"Algeria","AS":"American Samoa","AD":"Andorra","AO":"Angola","AI":"Anguilla","AQ":"Antarctica","AG":"Antigua and Barbuda","AR":"Argentina","AM":"Armenia","AW":"Aruba","AU":"Australia","AT":"Austria","AZ":"Azerbaijan","BS":"Bahamas","BH":"Bahrain","BD":"Bangladesh","BB":"Barbados","BY":"Belarus","BE":"Belgium","BZ":"Belize","BJ":"Benin","BM":"Bermuda","BT":"Bhutan","BO":"Bolivia","BQ":"Bonaire, Sint Eustatius and Saba","BA":"Bosnia and Herzegovina","BW":"Botswana","BV":"Bouvet Island","BR":"Brazil","IO":"British Indian Ocean Territory","BN":"Brunei Darussalam","BG":"Bulgaria","BF":"Burkina Faso","BI":"Burundi","CV":"Cabo Verde","KH":"Cambodia","CM":"Cameroon","CA":"Canada","KY":"Cayman Islands","CF":"Central African Republic","TD":"Chad","CL":"Chile","CN":"China","CX":"Christmas Island","CC":"Cocos Islands","CO":"Colombia","KM":"Comoros","CD":"Congo, Democratic Republic of the","CG":"Congo","CK":"Cook Islands","CR":"Costa Rica","CI":"C\u00f4te d'Ivoire","HR":"Croatia","CU":"Cuba","CW":"Cura\u00e7ao","CY":"Cyprus","CZ":"Czechia","DK":"Denmark","DJ":"Djibouti","DM":"Dominica","DO":"Dominican Republic","EC":"Ecuador","EG":"Egypt","SV":"El Salvador","GQ":"Equatorial Guinea","ER":"Eritrea","EE":"Estonia","SZ":"Eswatini","ET":"Ethiopia","FK":"Falkland Islands","FO":"Faroe Islands","FJ":"Fiji","FI":"Finland","FR":"France","GF":"French Guiana","PF":"French Polynesia","TF":"French Southern Territories","GA":"Gabon","GM":"Gambia","GE":"Georgia","DE":"Germany","GH":"Ghana","GI":"Gibraltar","GR":"Greece","GL":"Greenland","GD":"Grenada","GP":"Guadeloupe","GU":"Guam","GT":"Guatemala","GG":"Guernsey","GN":"Guinea","GW":"Guinea-Bissau","GY":"Guyana","HT":"Haiti","HM":"Heard Island and McDonald Islands","VA":"Holy See","HN":"Honduras","HK":"Hong Kong","HU":"Hungary","IS":"Iceland","IN":"India","ID":"Indonesia","IR":"Iran","IQ":"Iraq","IE":"Ireland","IM":"Isle of Man","IL":"Israel","IT":"Italy","JM":"Jamaica","JP":"Japan","JE":"Jersey","JO":"Jordan","KZ":"Kazakhstan","KE":"Kenya","KI":"Kiribati","KP":"Korea, Democratic People's Republic of","KR":"Korea, Republic of","KW":"Kuwait","KG":"Kyrgyzstan","LA":"La
1154o People's Democratic Republic","LV":"Latvia","LB":"Lebanon","LS":"Lesotho","LR":"Liberia","LY":"Libya","LI":"Liechtenstein","LT":"Lithuania","LU":"Luxembourg","MO":"Macao","MG":"Madagascar","MW":"Malawi","MY":"Malaysia","MV":"Maldives","ML":"Mali","MT":"Malta","MH":"Marshall Islands","MQ":"Martinique","MR":"Mauritania","MU":"Mauritius","YT":"Mayotte","MX":"Mexico","FM":"Micronesia","MD":"Moldova","MC":"Monaco","MN":"Mongolia","ME":"Montenegro","MS":"Montserrat","MA":"Morocco","MZ":"Mozambique","MM":"Myanmar","NA":"Namibia","NR":"Nauru","NP":"Nepal","NL":"Netherlands","NC":"New Caledonia","NZ":"New Zealand","NI":"Nicaragua","NE":"Niger","NG":"Nigeria","NU":"Niue","NF":"Norfolk Island","MK":"North Macedonia","MP":"Northern Mariana Islands","NO":"Norway","OM":"Oman","PK":"Pakistan","PW":"Palau","PS":"Palestine, State of","PA":"Panama","PG":"Papua New Guinea","PY":"Paraguay","PE":"Peru","PH":"Philippines","PN":"Pitcairn","PL":"Poland","PT":"Portugal","PR":"Puerto Rico","QA":"Qatar","RE":"R\u00e9union","RO":"Romania","RU":"Russian Federation","RW":"Rwanda","BL":"Saint Barth\u00e9lemy","SH":"Saint Helena, Ascension and Tristan da Cunha","KN":"Saint Kitts and Nevis","LC":"Saint Lucia","MF":"Saint Martin","PM":"Saint Pierre and Miquelon","VC":"Saint Vincent and the Grenadines","WS":"Samoa","SM":"San Marino","ST":"Sao Tome and Principe","SA":"Saudi Arabia","SN":"Senegal","RS":"Serbia","SC":"Seychelles","SL":"Sierra Leone","SG":"Singapore","SX":"Sint Maarten","SK":"Slovakia","SI":"Slovenia","SB":"Solomon Islands","SO":"Somalia","ZA":"South Africa","GS":"South Georgia and the South Sandwich Islands","SS":"South Sudan","ES":"Spain","LK":"Sri Lanka","SD":"Sudan","SR":"Suriname","SJ":"Svalbard and Jan Mayen","SE":"Sweden","CH":"Switzerland","SY":"Syria Arab Republic","TW":"Taiwan","TJ":"Tajikistan","TZ":"Tanzania, the United Republic of","TH":"Thailand","TL":"Timor-Leste","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad and Tobago","TN":"Tunisia","TR":"T\u00fcrkiye","TM":"Turkmenistan","TC":"Turks and Caicos Islands","TV":"Tuvalu","UG":"Uganda","UA":"Ukraine","AE":"United Arab Emirates","GB":"United Kingdom","US":"United States","UY":"Uruguay","UM":"US Minor Outlying Islands","UZ":"Uzbekistan","VU":"Vanuatu","VE":"Venezuela","VN":"Viet Nam","VG":"Virgin Islands, British","VI":"Virgin Islands, U.S.","WF":"Wallis and Futuna","EH":"Western Sahara","YE":"Yemen","ZM":"Zambia","ZW":"Zimbabwe"},"strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved.  The content contains the link to return and complete the form."}};
1155//# sourceURL=gform_gravityforms-js-extra
1156</script>
vendor: 1 bytes, line 1156
1156
1157<script id="gform_gravityforms-js" defer='defer' src="https://www.jsmf.org/wp-content/plugins/gravityforms/js/gravityforms.min.js?ver=3.1.2"></script>
vendor: 1 bytes, line 1157
1157
1158<script id="gform_placeholder-js" defer='defer' src="https://www.jsmf.org/wp-content/plugins/gravityforms/js/placeholders.jquery.min.js?ver=3.1.2"></script>
vendor: 1 bytes, line 1158
1158
1159<script id="gform_gravityforms_utils-js" defer='defer' src="https://www.jsmf.org/wp-content/plugins/gravityforms/assets/js/dist/utils.min.js?ver=69a9db57304a9f86c3d1a0bea5fd2cf9"></script>
vendor: 1 bytes, line 1159
1159
1160<script id="gform_gravityforms_theme_vendors-js" defer='defer' src="https://www.jsmf.org/wp-content/plugins/gravityforms/assets/js/dist/vendor-theme.min.js?ver=0c901cb641ce64b99c20ea1a4d208cc9"></script>
vendor: 1 bytes, line 1160
1160
1161<script id="gform_gravityforms_theme-js-extra">
1162var gform_theme_config = {"common":{"form":{"honeypot":{"version_hash":"38128d61be2f3b142dda9d864b268f7a"},"ajax":{"ajaxurl":"https://www.jsmf.org/wp-admin/admin-ajax.php","ajax_submission_nonce":"1f8f6c78e6","i18n":{"step_announcement":"Step %1$s of %2$s, %3$s","unknown_error":"There was an unknown error processing your request. Please try again.","error_403":"The request was blocked (403 error) for unknown security reasons. Remove any code-like text (scripts or DB queries) and try again."}},"logging":{"is_enabled":true}}},"hmr_dev":"","public_path":"https://www.jsmf.org/wp-content/plugins/gravityforms/assets/js/dist/","config_nonce":"0b0e34bc30"};
1163//# sourceURL=gform_gravityforms_theme-js-extra
1164</script>
vendor: 1 bytes, line 1164
1164
1165<script id="gform_gravityforms_theme-js" defer='defer' src="https://www.jsmf.org/wp-content/plugins/gravityforms/assets/js/dist/scripts-theme.min.js?ver=e27d9712159624c99129c8c208f022ad"></script>
vendor: 1 bytes, line 1165
1165
1166<script id="wp-emoji-settings" type="application/json">
1167{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.jsmf.org/wp-includes/js/wp-emoji-release.min.js?ver=7.1.1"}}
1168</script>
vendor: 1 bytes, line 1168
1168
1169<script type="module">
1170/*! This file is auto-generated */
1171var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
1172//# sourceURL=https://www.jsmf.org/wp-includes/js/wp-emoji-loader.min.js
1173</script>
vendor: 1 bytes, line 1173
1173
1174<script>
1175gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 1) {if(typeof Placeholders != 'undefined'){
1176                        Placeholders.enable();
1177                    }} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } );
1178</script>
vendor: 1 bytes, line 1178
1178
1179<script>
1180gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "1", currentPage: "1", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( "gform_wrapper_1" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( "span" );            visibilitySpan.id = "gform_visibility_test_1";            gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( "gform_visibility_test_1" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 1, 1 );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );
1181</script>
vendor: 1 bytes, line 1181
1181
1182<script>window.lazyLoadOptions = [{
1183                elements_selector: "img[data-lazy-src],.rocket-lazyload",
1184                data_src: "lazy-src",
1185                data_srcset: "lazy-srcset",
1186                data_sizes: "lazy-sizes",
1187                class_loading: "lazyloading",
1188                class_loaded: "lazyloaded",
1189                threshold: 300,
1190                callback_loaded: function(element) {
1191                    if ( element.tagName === "IFRAME" && element.dataset.rocketLazyload == "fitvidscompatible" ) {
1192                        if (element.classList.contains("lazyloaded") ) {
1193                            if (typeof window.jQuery != "undefined") {
1194                                if (jQuery.fn.fitVids) {
1195                                    jQuery(element).parent().fitVids();
1196                                }
1197                            }
1198                        }
1199                    }
1200                }},{
1201				elements_selector: ".rocket-lazyload",
1202				data_src: "lazy-src",
1203				data_srcset: "lazy-srcset",
1204				data_sizes: "lazy-sizes",
1205				class_loading: "lazyloading",
1206				class_loaded: "lazyloaded",
1207				threshold: 300,
1208			}];
1209        window.addEventListener('LazyLoad::Initialized', function (e) {
1210            var lazyLoadInstance = e.detail.instance;
1211
1212            if (window.MutationObserver) {
1213                var observer = new MutationObserver(function(mutations) {
1214                    var image_count = 0;
1215                    var iframe_count = 0;
1216                    var rocketlazy_count = 0;
1217
1218                    mutations.forEach(function(mutation) {
1219                        for (var i = 0; i < mutation.addedNodes.length; i++) {
1220                            if (typeof mutation.addedNodes[i].getElementsByTagName !== 'function') {
1221                                continue;
1222                            }
1223
1224                            if (typeof mutation.addedNodes[i].getElementsByClassName !== 'function') {
1225                                continue;
1226                            }
1227
1228                            images = mutation.addedNodes[i].getElementsByTagName('img');
1229                            is_image = mutation.addedNodes[i].tagName == "IMG";
1230                            iframes = mutation.addedNodes[i].getElementsByTagName('iframe');
1231                            is_iframe = mutation.addedNodes[i].tagName == "IFRAME";
1232                            rocket_lazy = mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');
1233
1234                            image_count += images.length;
1235			                iframe_count += iframes.length;
1236			                rocketlazy_count += rocket_lazy.length;
1237
1238                            if(is_image){
1239                                image_count += 1;
1240                            }
1241
1242                            if(is_iframe){
1243                                iframe_count += 1;
1244                            }
1245                        }
1246                    } );
1247
1248                    if(image_count > 0 || iframe_count > 0 || rocketlazy_count > 0){
1249                        lazyLoadInstance.update();
1250                    }
1251                } );
1252
1253                var b      = document.getElementsByTagName("body")[0];
1254                var config = { childList: true, subtree: true };
1255
1256                observer.observe(b, config);
1257            }
1258        }, false);</script>
1258<script data-no-minify="1" async src="https://www.jsmf.org/wp-content/plugins/rocket-lazy-load/assets/js/16.1/lazyload.min.js"></script>
vendor: 1 bytes, line 1258
1258
1259<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a400862f9e4a73db',t:'MTc5MDIzOTY0NA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1259</body>
1260</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.