PageSourceSearch

https://villagrande.org/news

html villagrande.org collected 2026-10-09 23:04:11 UTC 44,912 bytes, 1,080 lines download raw bytes

1<!DOCTYPE html>
2<!--[if lt IE 7 ]><html lang="en" class="no-js ie6 "><![endif]-->
3<!--[if IE 7 ]><html lang="en" class="no-js ie7 "> <![endif]-->
4<!--[if IE 8 ]><html lang="en" class="no-js ie8 "> <![endif]-->
5<!--[if IE 9 ]><html lang="en" class="no-js ie9 "><![endif]-->
6<!--[if (gt IE 9)|!(IE)]><!--><html lang="en" class="no-js "> <!--<![endif]-->
7  <head id="Head1">
8		<link rel="stylesheet" type="text/css" href="https://kit-pro.fontawesome.com/releases/latest/css/pro.min.css" />
9<meta name="viewport" content="width=device-width, initial-scale=1">
10<link href="https://villagrande.org/BuiltTheme/firma_above_the_clouds.v3.0/f1fd0565/Styles/combined.css" rel="stylesheet" type="text/css" /><link href="https://villagrande.org/resources/theme/customStyles.css?t=638841299562890000" rel="stylesheet" type="text/css" /><link href="https://villagrande.org/resources/theme/user.css?t=639256974480000000" rel="stylesheet" type="text/css" /><link href="https://live-sf.wildapricot.org/WebUI/built9.19.2-1c681d6/scripts/public/react/index-84b33b4.css" rel="stylesheet" type="text/css" /><link href="https://live-sf.wildapricot.org/WebUI/built9.19.2-1c681d6/css/shared/ui/shared-ui-compiled.css" rel="stylesheet" type="text/css" />
10<script type="text/javascript" language="javascript" id="idJavaScriptEnvironment">var bonaPage_BuildVer='9.19.2-1c681d6';
11var bonaPage_AdminBackendUrl = '/admin/';
12var bonaPage_StatRes='https://live-sf.wildapricot.org/WebUI/';
13var bonaPage_InternalPageType = { isUndefinedPage : false,isWebPage : true,isAdminPage : false,isDialogPage : false,isSystemPage : false,isErrorPage : false,isError404Page : false };
14var bonaPage_PageView = { isAnonymousView : true,isMemberView : false,isAdminView : false };
15var WidgetMode = 0;
16var bonaPage_IsUserAnonymous = true;
17var bonaPage_ThemeVer='f1fd0565639256974480000000638841299562890000'; var bonaPage_ThemeId = 'firma_above_the_clouds.v3.0'; var bonaPage_ThemeVersion = '3.0';
18var bonaPage_id='18122'; version_id='';
19if (bonaPage_InternalPageType && (bonaPage_InternalPageType.isSystemPage || bonaPage_InternalPageType.isWebPage) && window.self !== window.top) { var success = true; try { var tmp = top.location.href; if (!tmp) { top.location = self.location; } } catch (err) { try { if (self != top) { top.location = self.location; } } catch (err) { try { if (self != top) { top = self; } success = false; } catch (err) { success = false; } } success = false; } if (!success) { window.onload = function() { document.open('text/html', 'replace');
19 document.write('<ht'+'ml><he'+'ad></he'+'ad><bo'+'dy><h1>Wrong document context!</h1></bo'+'dy></ht'+'ml>'); document.close(); } } }
20try { function waMetricsGlobalHandler(args) { if (WA.topWindow.waMetricsOuterGlobalHandler && typeof(WA.topWindow.waMetricsOuterGlobalHandler) === 'function') { WA.topWindow.waMetricsOuterGlobalHandler(args); }}} catch(err) {}
21 try { if (parent && parent.BonaPage) parent.BonaPage.implementBonaPage(window); } catch (err) { }
22try { document.write('<style type="text/css"> .WaHideIfJSEnabled, .HideIfJSEnabled { display: none; } </style>'); } catch(err) {}
23var bonaPage_WebPackRootPath = 'https://live-sf.wildapricot.org/WebUI/built9.19.2-1c681d6/scripts/public/react/';</script>
23<script type="text/javascript" language="javascript" src="https://live-sf.wildapricot.org/WebUI/built9.19.2-1c681d6/scripts/shared/bonapagetop/bonapagetop-compiled.js" id="idBonaPageTop"></script>
23<script type="text/javascript" language="javascript" src="https://live-sf.wildapricot.org/WebUI/built9.19.2-1c681d6/scripts/public/react/index-84b33b4.js" id="ReactPublicJs"></script>
23<script type="text/javascript" language="javascript" src="https://live-sf.wildapricot.org/WebUI/built9.19.2-1c681d6/scripts/shared/ui/shared-ui-compiled.js" id="idSharedJs"></script>
23<script type="text/javascript" language="javascript" src="https://live-sf.wildapricot.org/WebUI/built9.19.2-1c681d6/General.js" id=""></script>
23<script type="text/javascript" language="javascript" src="https://villagrande.org/BuiltTheme/firma_above_the_clouds.v3.0/f1fd0565/Scripts/combined.js" id=""></script>
23<title>Friends of Villa Grande (FoVG) - News</title>
24<link rel="search" type="application/opensearchdescription+xml" title="villagrande.org" href="/opensearch.ashx" /></head>
25  <body id="PAGEID_18122" class="publicContentView LayoutMain">
26<div class="mLayout layoutMain state1" id="mLayout">
27<div class="mobilePanelContainer">
28<div id="id_MobilePanel" data-componentId="MobilePanel" class="WaPlaceHolder WaPlaceHolderMobilePanel" style=""><div style=""><div id="id_xaBsq8r" class="WaGadgetOnly WaGadgetMobilePanel  gadgetStyleNone" style="" data-componentId="xaBsq8r" ><div class="mobilePanel">
29	
30	<div class="mobilePanelButton buttonMenu" title="Menu">Menu</div>
31<div class="mobilePanelButton buttonLogin" title="Log in">Log in</div>
32<div class="menuInner">
33		<ul class="firstLevel">
34<li class=" ">
35	<div class="item">
36		<a href="https://villagrande.org/" title="Home"><span>Home</span></a>
37</div>
38</li>
39	
40<li class=" dir">
41	<div class="item">
42		<a href="https://villagrande.org/friends-of-villa-grande" title="Friends of Villa Grande"><span>Friends of Villa Grande</span></a>
43<ul class="secondLevel">
44<li class=" ">
45	<div class="item">
46		<a href="https://villagrande.org/welcome-to-fovg" title="Welcome to FoVG"><span>Welcome to FoVG</span></a>
47</div>
48</li>
49	
50<li class=" ">
51	<div class="item">
52		<a href="https://villagrande.org/history-of-fovg" title="History of FoVG"><span>History of FoVG</span></a>
53</div>
54</li>
55	
56<li class=" ">
57	<div class="item">
58		<a href="https://villagrande.org/board" title="Board"><span>Board</span></a>
59</div>
60</li>
61	
62<li class=" ">
63	<div class="item">
64		<a href="https://villagrande.org/Contact" title="Contact"><span>Contact</span></a>
65</div>
66</li>
67	
68<li class=" ">
69	<div class="item">
70		<a href="https://villagrande.org/volunteer" title="Volunteer Opportunities"><span>Volunteer Opportunities</span></a>
71</div>
72</li>
73	
74<li class=" ">
75	<div class="item">
76		<a href="https://villagrande.org/events" title="Events"><span>Events</span></a>
77</div>
78</li>
79	
80<li class=" ">
81	<div class="item">
82		<a href="https://villagrande.org/fovg-event-photos" title="FOVG Event photo albums"><span>FOVG Event photo albums</span></a>
83</div>
84</li>
85	
86<li class=" ">
87	<div class="item">
88		<a href="https://villagrande.org/anchorage" title="Boat Anchorage"><span>Boat Anchorage</span></a>
89</div>
90</li>
91	
92<li class=" ">
93	<div class="item">
94		<a href="https://villagrande.org/propane" title="Propane"><span>Propane</span></a>
95</div>
96</li>
97	
98<li class=" ">
99	<div class="item">
100		<a href="https://villagrande.org/vgfd-and-firehouse-plaza" title="VGFD &amp; Firehouse Plaza"><span>VGFD &amp; Firehouse Plaza</span></a>
101</div>
102</li>
103	
104</ul>
105</div>
106</li>
107	
108<li class=" dir">
109	<div class="item">
110		<a href="https://villagrande.org/patterson-point-preserve" title="Patterson Point Preserve"><span>Patterson Point Preserve</span></a>
111<ul class="secondLevel">
112<li class=" ">
113	<div class="item">
114		<a href="https://villagrande.org/about-ppp" title="About PPP"><span>About PPP</span></a>
115</div>
116</li>
117	
118<li class=" ">
119	<div class="item">
120		<a href="https://villagrande.org/history-of-ppp" title="History of PPP"><span>History of PPP</span></a>
121</div>
122</li>
123	
124<li class=" dir">
125	<div class="item">
126		<a href="https://villagrande.org/restoration" title="Restoration"><span>Restoration</span></a>
127<ul class="secondLevel">
128<li class=" ">
129	<div class="item">
130		<a href="https://villagrande.org/Restoration-Reports" title="Restoration Reports"><span>Restoration Reports</span></a>
131</div>
132</li>
133	
134</ul>
135</div>
136</li>
137	
138<li class=" ">
139	<div class="item">
140		<a href="https://villagrande.org/birds" title="Birds"><span>Birds</span></a>
141</div>
142</li>
143	
144<li class=" ">
145	<div class="item">
146		<a href="https://villagrande.org/plants" title="Plants"><span>Plants</span></a>
147</div>
148</li>
149	
150<li class=" ">
151	<div class="item">
152		<a href="https://villagrande.org/recreation" title="Recreation"><span>Recreation</span></a>
153</div>
154</li>
155	
156</ul>
157</div>
158</li>
159	
160<li class=" dir">
161	<div class="item">
162		<a href="https://villagrande.org/our-community" title="Our Community"><span>Our Community</span></a>
163<ul class="secondLevel">
164<li class=" ">
165	<div class="item">
166		<a href="https://villagrande.org/about-our-community" title="About Our Community"><span>About Our Community</span></a>
167</div>
168</li>
169	
170<li class=" dir">
171	<div class="item">
172		<a href="https://villagrande.org/history-of-vg" title="History of VG"><span>History of VG</span></a>
173<ul class="secondLevel">
174<li class=" ">
175	<div class="item">
176		<a href="https://villagrande.org/flood-of-1986" title="Flood of 1986"><span>Flood of 1986</span></a>
177</div>
178</li>
179	
180<li class=" ">
181	<div class="item">
182		<a href="https://villagrande.org/photo-albums" title="Historical photo albums"><span>Historical photo albums</span></a>
183</div>
184</li>
185	
186<li class=" ">
187	<div class="item">
188		<a href="https://villagrande.org/VG-Fourth-of-July" title="Fourth of July"><span>Fourth of July</span></a>
189</div>
190</li>
191	
192</ul>
193</div>
194</li>
195	
196<li class=" ">
197	<div class="item">
198		<a href="https://villagrande.org/community-identification" title="Community Identification"><span>Community Identification</span></a>
199</div>
200</li>
201	
202<li class=" ">
203	<div class="item">
204		<a href="https://villagrande.org/water-quality-and-septic" title="Water Quality &amp; Septic"><span>Water Quality &amp; Septic</span></a>
205</div>
206</li>
207	
208<li class=" dir">
209	<div class="item">
210		<a href="https://villagrande.org/emergency-information" title="Emergency Information"><span>Emergency Information</span></a>
211<ul class="secondLevel">
212<li class=" ">
213	<div class="item">
214		<a href="https://villagrande.org/emergency-preparedness" title="Emergency Preparedness"><span>Emergency Preparedness</span></a>
215</div>
216</li>
217	
218</ul>
219</div>
220</li>
221	
222<li class=" ">
223	<div class="item">
224		<a href="https://villagrande.org/community-connections" title="Community Connections"><span>Community Connections</span></a>
225</div>
226</li>
227	
228<li class=" dir">
229	<div class="item">
230		<a href="https://villagrande.org/special-projects" title="Special Projects"><span>Special Projects</span></a>
231<ul class="secondLevel">
232<li class=" ">
233	<div class="item">
234		<a href="https://villagrande.org/roads-and-drainage" title="Roads &amp; Drainage"><span>Roads &amp; Drainage</span></a>
235</div>
236</li>
237	
238</ul>
239</div>
240</li>
241	
242</ul>
243</div>
244</li>
245	
246<li class=" dir">
247	<div class="item">
248		<a href="https://villagrande.org/MENU-HIDE" title="MENU HIDE"><span>MENU HIDE</span></a>
249<ul class="secondLevel">
250<li class="sel dir">
251	<div class="item">
252		<a href="https://villagrande.org/news" title="News"><span>News</span></a>
253<ul class="secondLevel">
254<li class=" ">
255	<div class="item">
256		<a href="https://villagrande.org/Announcements" title="Announcements"><span>Announcements</span></a>
257</div>
258</li>
259	
260<li class=" ">
261	<div class="item">
262		<a href="https://villagrande.org/Newsletters" title="Newsletters"><span>Newsletters</span></a>
263</div>
264</li>
265	
266</ul>
267</div>
268</li>
269	
270</ul>
271</div>
272</li>
273	
274<li class=" ">
275	<div class="item">
276		<a href="https://villagrande.org/Search" title="Search"><span>Search</span></a>
277</div>
278</li>
279	
280</ul>
281	</div>
282
283	<div class="loginInner">
284<div class="loginContainerForm oAuthIstrue">
285<div class="openAuthFormContainer">
286<form method="post" action="https://villagrande.org/Sys/Login/ExternalLogin" id="id_xaBsq8r_oAuthForm" class="oAuthForm"  data-disableInAdminMode="true">
287<div id="id_xaBsq8r_container" class="oAuthButtonsContainer">
288			  <!--  <a class="wa-authenticateLoginLink facebook" provider="Facebook">
289					<span class="authenticateLoginIcon" provider="Facebook"></span>
290					<span class="authenticateLoginText" provider="Facebook">
290Log in with Facebook</span>
291			  </a> --> <a class="wa-authenticateLoginLink googlePlus" provider="GooglePlus">
292					<span class="authenticateLoginIcon" provider="GooglePlus"></span>
293					<span class="authenticateLoginText" provider="GooglePlus">Log in with Google</span>
294			  </a><a class="wa-authenticateLoginLink microsoft" provider="Microsoft">
295					<span class="authenticateLoginIcon" provider="Microsoft"></span>
296					<span class="authenticateLoginText" provider="Microsoft">Log in with Microsoft</span>
297			  </a> <a class="wa-authenticateLoginLink apple" provider="Apple">
298					<span class="authenticateLoginIcon" provider="Apple"></span>
299					<span class="authenticateLoginText" provider="Apple">Log in with Apple</span>
300			  </a>
301			  <input type="hidden" name="ReturnUrl" value="" />
302			  <input type="hidden" name="Provider" class="oAuthProvider" value="Undefined" />   
303              <input type="hidden" id="id_xaBsq8r_browserCapabilities" name="browserCapabilities" />  
304			</div>
305</form></div>
306 
307    
307<script type="text/javascript" language="javascript">
308        jq$(document).ready(function()
309		{
310            new OAuthButtons({id:'id_xaBsq8r', formId: 'id_xaBsq8r_oAuthForm'});
311		});
312    </script>
312
313<form method="post" action="https://villagrande.org/Sys/Login" id="id_xaBsq8r_form" class="generalLoginBox"  data-disableInAdminMode="true">
314<input type="hidden" name="ReturnUrl" id="id_xaBsq8r_returnUrl" value="">
315				<input type="hidden" name="browserData" id="id_xaBsq8r_browserField">
316<div class="loginUserName">
317<div class="loginUserNameTextBox">
318		<input name="email" type="text" maxlength="100" placeholder="Email"  id="id_xaBsq8r_userName" tabindex="1" class="emailTextBoxControl"/>
319	</div>
320</div><div class="loginPassword">
321<div class="loginPasswordTextBox">
322		<input name="password" type="password" placeholder="Password" maxlength="50" id="id_xaBsq8r_password" tabindex="2" class="passwordTextBoxControl" autocomplete="off"/>
323	</div>
324</div> 
325    <input id="g-recaptcha-invisible_xaBsq8r" name="g-recaptcha-invisible" value="recaptcha" type="hidden"/> 
326    <div id="recapcha_placeholder_xaBsq8r" style="display:none"></div>
327    <span id="idReCaptchaValidator_xaBsq8r" errorMessage="Please verify that you are not a robot" style="display:none" validatorType="method" ></span>
328    
328<script>
329        $("#idReCaptchaValidator_xaBsq8r").on( "wavalidate", function(event, validationResult) {
330            if (grecaptcha.getResponse(widgetId_xaBsq8r).length == 0){
331                grecaptcha.execute(widgetId_xaBsq8r);	
332                validationResult.shouldStopValidation = true;
333                return;
334            }
335
336            validationResult.result = true;
337        });
338  
339            var widgetId_xaBsq8r;
340
341            var onloadCallback_xaBsq8r = function() {
342                // Renders the HTML element with id 'recapcha_placeholder_xaBsq8r' as a reCAPTCHA widget.
343                // The id of the reCAPTCHA widget is assigned to 'widgetId_xaBsq8r'.
344                widgetId_xaBsq8r = grecaptcha.render('recapcha_placeholder_xaBsq8r', {
345                'sitekey' : '6LfmM_UhAAAAAJSHT-BwkAlQgN0mMViOmaK7oEIV',
346                'size': 'invisible',
347                'callback': function(){
348                    document.getElementById('g-recaptcha-invisible_xaBsq8r').form.submit();
349                },
350                'theme' : 'light'
351            });
352        };
353    </script>
vendor: 131 bytes, lines 353-357
353
354	
355    <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback_xaBsq8r&render=explicit" async defer></script>
356
357 
357<div class="loginActionRememberMe">
358		<input id="id_xaBsq8r_rememberMe" type="checkbox" name="rememberMe" tabindex="3" class="rememberMeCheckboxControl"/>
359		<label for="id_xaBsq8r_rememberMe">Remember me</label>
360	</div>
361<div class="loginPasswordForgot">
362		<a href="https://villagrande.org/Sys/ResetPasswordRequest">Forgot password</a>
363	</div>
364<div class="loginAction">
365	<input type="submit" name="ctl03$ctl02$loginViewControl$loginControl$Login" value="Log in" id="id_xaBsq8r_loginAction" onclick="if (!browserInfo.clientCookiesEnabled()) {alert('Warning: browser cookies disabled. Please enable them to use this website.'); return false;}" tabindex="4" class="loginButton loginButtonControl"/>
366</div></form></div>
367</div>
368
369</div>
370
371<script type="text/javascript">
372
373jq$(function()
374{
375	var gadget = jq$('#id_xaBsq8r'),
376		menuContainer = gadget.find('.menuInner'),
377		loginContainer = gadget.find('.loginInner');
378
379	gadget.find('.buttonMenu').on("click",function()
380	{
381		menuContainer.toggle();
382		loginContainer.hide();
383		jq$(this).toggleClass('active');
384        jq$('.buttonLogin').removeClass('active');
385		return false;
386	});
387
388	gadget.find('.buttonLogin').on("click",function()
389	{
390		loginContainer.toggle();
391		menuContainer.hide();
392		jq$(this).toggleClass('active');
393        jq$('.buttonMenu').removeClass('active');
394		return false;
395	});
396
397	gadget.find('.mobilePanel').on("click",function(event)
398	{
399        if( !(jq$(event.target).parents('.loginInner').size() || event.target.className == 'loginInner') )
400        {
401            menuContainer.hide();
402            loginContainer.hide();
403            jq$('.buttonLogin').removeClass('active');
404            jq$('.buttonMenu').removeClass('active');
405        }
406
407        event.stopPropagation();
408	});
409
410	jq$('body').on("click",function()
411	{
412		menuContainer.hide();
413		loginContainer.hide();
414		jq$('.buttonLogin').removeClass('active');
415        jq$('.buttonMenu').removeClass('active');
416	});
417
418
419	// login
420	var browserField = document.getElementById('id_xaBsq8r' + '_browserField');
421
422	if (browserField)
423	{
424		browserField.value = browserInfo.getBrowserCapabilitiesData();
425	}
426
427	jq$('#id_xaBsq8r' + '_form').FormValidate();
428	jq$('.WaGadgetMobilePanel form').attr('data-disableInAdminMode', 'false');
429
430});
431
432</script>
432</div></div>
433</div></div>
434
435		<!-- header zone -->
436		<div class="zoneHeaderOuter">
437			<div class="zoneHeader container_12">
438				<div class="zoneHeaderInner s1_grid_12 s2_grid_12 s3_grid_12">
439<div id="id_Header" data-componentId="Header" class="WaPlaceHolder WaPlaceHolderHeader" style=""><div style="padding-top:0px;padding-bottom:0px;"><div id="id_RLYBugg" data-componentId="P75wC6y" class="WaLayoutContainerFirst" style="margin-bottom:0px;"><table cellspacing="0" cellpadding="0" class="WaLayoutTable" style=""><tr data-componentId="RLYBugg_row" class="WaLayoutRow"><td id="id_fFMWDZA" data-componentId="2JtVF1E" class="WaLayoutItem" style="width:40%;"><div id="id_JTQDQ3O" class="WaLayoutPlaceHolder placeHolderContainer" data-componentId="1nUr5JJ" style=""><div style="padding-top:30px;padding-bottom:10px;"><div id="id_HeaderLogo" class="WaGadgetOnly WaGadgetContent  gadgetStyleNone" style="" data-componentId="8BqVSyB" ><div class="gadgetStyleBody gadgetContentEditableArea" style="" data-editableArea="0" data-areaHeight="auto">
440<div align="left"><a href="/" title="FoVG - Home"><img src="/resources/Pictures/FoVG/FoVG_Logo-web-large.png" title="" alt="Friends of Villa Grande logo" border="0"></a></div></div>
441</div></div></div></td><td style="" data-componentId="2JtVF1E_separator" class="WaLayoutSeparator"><div style="width: inherit;"></div></td><td id="id_pYda7KE" data-componentId="DiRJBlB" class="WaLayoutItem" style="width:60%;"><div id="id_MhMQ5ZE" class="WaLayoutPlaceHolder placeHolderContainer" data-componentId="aITXLZY" style=""><div style="padding-top:40px;padding-right:8px;padding-left:8px;"><div id="id_Header_Login" class="WaGadgetFirst WaGadgetLoginButton  gadgetStyleNone" style="margin-bottom:15px;" data-componentId="qaISEe5" ><div class="loginButtonBackground"></div>
442<div class="loginButtonWrapper alignRight">
443  <div class="loginBoxLinkContainer">
444    <a class="loginBoxLinkButton" href="https://villagrande.org/Sys/Login">Log in</a>
445  </div>
446  </div>
447<script type="text/javascript">
448  jq$(function() {
449    var gadgetLoginButton = jq$('#id_Header_Login');
450    var leftOffset;
451    
452    function resizeBgLogin() {
453      // background track
454      leftOffset = (gadgetLoginButton.closest('.WaLayoutTable').length > 0) ? gadgetLoginButton.closest('.WaLayoutTable').width() : gadgetLoginButton.width();
455        
456      gadgetLoginButton.find('.loginButtonBackground').css({
457        'width': jq$('body').width(),
458        'left': ( ( jq$('body').width() - leftOffset ) * -0.5 )
459      });
460    }
461
462    resizeBgLogin();
463    jq$(window).resize(function() { resizeBgLogin(); });
464  });
465</script>
465
466</div><div id="id_LLKksfN" class="WaGadgetLast WaGadgetCustomMenu  gadgetStyle001" style="" data-componentId="LLKksfN" ><div class="gadgetStyleBody " style=""  data-areaHeight="auto">
467<div class="customMenuWrapper alignRight">
468	<ul class="orientationHorizontal">
469
470<li>
471				<a href="/membership" title="Join Us">Join Us</a>
472			</li>
473<li>
474				<a href="/members-area" title="Members">Members</a>
475			</li>
476<li>
477				<a href="/emergency-information/" title="Emergency Info">Emergency Info</a>
478			</li>
479<li>
480				<a href="/news" title="News">News</a>
481			</li>
482<li>
483				<a href="/events" title="Events">Events</a>
484			</li>
485<li>
486				<a href="/fovg-store" title="Store">Store</a>
487			</li>
488<li>
489				<a href="/donate" title="Donate">Donate</a>
490			</li>
491</ul>
492</div>
493</div>
494</div></div></div></td></tr></table> </div><div id="id_H8b9tTl" class="WaGadgetLast WaGadgetMenuHorizontal invert menuStyle002" style="margin-bottom:0px;" data-componentId="H8b9tTl" ><div data-sticky-wrapper="true">
495    <div class="stickness">
496        <div class="menuBackground"></div>
497        <div class="menuInner">
498            <ul class="firstLevel">
499                <li class=" ">
500	<div class="item">
501		<a href="https://villagrande.org/" title="Home"><span>Home</span></a>
502</div>
503</li>
504	
505<li class=" dir">
506	<div class="item">
507		<a href="https://villagrande.org/friends-of-villa-grande" title="Friends of Villa Grande"><span>Friends of Villa Grande</span></a>
508<ul class="secondLevel">
509<li class=" ">
510	<div class="item">
511		<a href="https://villagrande.org/welcome-to-fovg" title="Welcome to FoVG"><span>Welcome to FoVG</span></a>
512</div>
513</li>
514	
515<li class=" ">
516	<div class="item">
517		<a href="https://villagrande.org/history-of-fovg" title="History of FoVG"><span>History of FoVG</span></a>
518</div>
519</li>
520	
521<li class=" ">
522	<div class="item">
523		<a href="https://villagrande.org/board" title="Board"><span>Board</span></a>
524</div>
525</li>
526	
527<li class=" ">
528	<div class="item">
529		<a href="https://villagrande.org/Contact" title="Contact"><span>Contact</span></a>
530</div>
531</li>
532	
533<li class=" ">
534	<div class="item">
535		<a href="https://villagrande.org/volunteer" title="Volunteer Opportunities"><span>Volunteer Opportunities</span></a>
536</div>
537</li>
538	
539<li class=" ">
540	<div class="item">
541		<a href="https://villagrande.org/events" title="Events"><span>Events</span></a>
542</div>
543</li>
544	
545<li class=" ">
546	<div class="item">
547		<a href="https://villagrande.org/fovg-event-photos" title="FOVG Event photo albums"><span>FOVG Event photo albums</span></a>
548</div>
549</li>
550	
551<li class=" ">
552	<div class="item">
553		<a href="https://villagrande.org/anchorage" title="Boat Anchorage"><span>Boat Anchorage</span></a>
554</div>
555</li>
556	
557<li class=" ">
558	<div class="item">
559		<a href="https://villagrande.org/propane" title="Propane"><span>Propane</span></a>
560</div>
561</li>
562	
563<li class=" ">
564	<div class="item">
565		<a href="https://villagrande.org/vgfd-and-firehouse-plaza" title="VGFD &amp; Firehouse Plaza"><span>VGFD &amp; Firehouse Plaza</span></a>
566</div>
567</li>
568	
569</ul>
570</div>
571</li>
572	
573<li class=" dir">
574	<div class="item">
575		<a href="https://villagrande.org/patterson-point-preserve" title="Patterson Point Preserve"><span>Patterson Point Preserve</span></a>
576<ul class="secondLevel">
577<li class=" ">
578	<div class="item">
579		<a href="https://villagrande.org/about-ppp" title="About PPP"><span>About PPP</span></a>
580</div>
581</li>
582	
583<li class=" ">
584	<div class="item">
585		<a href="https://villagrande.org/history-of-ppp" title="History of PPP"><span>History of PPP</span></a>
586</div>
587</li>
588	
589<li class=" dir">
590	<div class="item">
591		<a href="https://villagrande.org/restoration" title="Restoration"><span>Restoration</span></a>
592<ul class="secondLevel">
593<li class=" ">
594	<div class="item">
595		<a href="https://villagrande.org/Restoration-Reports" title="Restoration Reports"><span>Restoration Reports</span></a>
596</div>
597</li>
598	
599</ul>
600</div>
601</li>
602	
603<li class=" ">
604	<div class="item">
605		<a href="https://villagrande.org/birds" title="Birds"><span>Birds</span></a>
606</div>
607</li>
608	
609<li class=" ">
610	<div class="item">
611		<a href="https://villagrande.org/plants" title="Plants"><span>Plants</span></a>
612</div>
613</li>
614	
615<li class=" ">
616	<div class="item">
617		<a href="https://villagrande.org/recreation" title="Recreation"><span>Recreation</span></a>
618</div>
619</li>
620	
621</ul>
622</div>
623</li>
624	
625<li class=" dir">
626	<div class="item">
627		<a href="https://villagrande.org/our-community" title="Our Community"><span>Our Community</span></a>
628<ul class="secondLevel">
629<li class=" ">
630	<div class="item">
631		<a href="https://villagrande.org/about-our-community" title="About Our Community"><span>About Our Community</span></a>
632</div>
633</li>
634	
635<li class=" dir">
636	<div class="item">
637		<a href="https://villagrande.org/history-of-vg" title="History of VG"><span>History of VG</span></a>
638<ul class="secondLevel">
639<li class=" ">
640	<div class="item">
641		<a href="https://villagrande.org/flood-of-1986" title="Flood of 1986"><span>Flood of 1986</span></a>
642</div>
643</li>
644	
645<li class=" ">
646	<div class="item">
647		<a href="https://villagrande.org/photo-albums" title="Historical photo albums"><span>Historical photo albums</span></a>
648</div>
649</li>
650	
651<li class=" ">
652	<div class="item">
653		<a href="https://villagrande.org/VG-Fourth-of-July" title="Fourth of July"><span>Fourth of July</span></a>
654</div>
655</li>
656	
657</ul>
658</div>
659</li>
660	
661<li class=" ">
662	<div class="item">
663		<a href="https://villagrande.org/community-identification" title="Community Identification"><span>Community Identification</span></a>
664</div>
665</li>
666	
667<li class=" ">
668	<div class="item">
669		<a href="https://villagrande.org/water-quality-and-septic" title="Water Quality &amp; Septic"><span>Water Quality &amp; Septic</span></a>
670</div>
671</li>
672	
673<li class=" dir">
674	<div class="item">
675		<a href="https://villagrande.org/emergency-information" title="Emergency Information"><span>Emergency Information</span></a>
676<ul class="secondLevel">
677<li class=" ">
678	<div class="item">
679		<a href="https://villagrande.org/emergency-preparedness" title="Emergency Preparedness"><span>Emergency Preparedness</span></a>
680</div>
681</li>
682	
683</ul>
684</div>
685</li>
686	
687<li class=" ">
688	<div class="item">
689		<a href="https://villagrande.org/community-connections" title="Community Connections"><span>Community Connections</span></a>
690</div>
691</li>
692	
693<li class=" dir">
694	<div class="item">
695		<a href="https://villagrande.org/special-projects" title="Special Projects"><span>Special Projects</span></a>
696<ul class="secondLevel">
697<li class=" ">
698	<div class="item">
699		<a href="https://villagrande.org/roads-and-drainage" title="Roads &amp; Drainage"><span>Roads &amp; Drainage</span></a>
700</div>
701</li>
702	
703</ul>
704</div>
705</li>
706	
707</ul>
708</div>
709</li>
710	
711<li class=" dir">
712	<div class="item">
713		<a href="https://villagrande.org/MENU-HIDE" title="MENU HIDE"><span>MENU HIDE</span></a>
714<ul class="secondLevel">
715<li class="sel dir">
716	<div class="item">
717		<a href="https://villagrande.org/news" title="News"><span>News</span></a>
718<ul class="secondLevel">
719<li class=" ">
720	<div class="item">
721		<a href="https://villagrande.org/Announcements" title="Announcements"><span>Announcements</span></a>
722</div>
723</li>
724	
725<li class=" ">
726	<div class="item">
727		<a href="https://villagrande.org/Newsletters" title="Newsletters"><span>Newsletters</span></a>
728</div>
729</li>
730	
731</ul>
732</div>
733</li>
734	
735</ul>
736</div>
737</li>
738	
739<li class=" ">
740	<div class="item">
741		<a href="https://villagrande.org/Search" title="Search"><span>Search</span></a>
742</div>
743</li>
744	
745</ul>
746        </div>
747    </div>
748</div>
749
750<script type="text/javascript">
751    if (window.WaMenuHorizontal)
752    {
753        jq$(document).ready(function()
754        {
755            new stickyPlaceholder();
756            new WaMenuHorizontal({ id: "id_H8b9tTl" });
757        });
758    }
759</script>
759
760
761
762<script type="text/javascript">
763    jq$(function()
764    {
765        var gadgetHorMenu = jq$('#id_H8b9tTl');
766        var leftOffset;
767
768        function resizeBg()
769        {
770            // background track
771
772            leftOffset = (gadgetHorMenu.closest('.WaLayoutTable').length > 0) ? gadgetHorMenu.closest('.WaLayoutTable').width() : gadgetHorMenu.width();
773
774            gadgetHorMenu.find('.menuBackground').css(
775            {
776                'width': jq$('body').width(),
777                'left': ( ( jq$('body').width() - leftOffset ) * -0.5 )
778            });
779        }
780
781        resizeBg();
782
783        jq$(window).resize(function()
784        {
785            resizeBg();
786        });
787    });
788</script>
788</div></div>
789</div></div>
790			</div>
791		</div>
792
793		<div class="zoneHeader1Outer">
794			<div class="zoneHeader1 container_12">
795				<div class="zoneHeader1Inner s1_grid_12 s2_grid_12 s3_grid_12">
796					<div class="color"></div>
797</div>
798			</div>
799		</div>
800
801		<div class="zoneHeader2Outer">
802			<div class="zoneHeader2 container_12">
803				<div class="zoneHeader2Inner s1_grid_12 s2_grid_12 s3_grid_12">
804<div id="id_Header2" data-componentId="Header2" class="WaPlaceHolder WaPlaceHolderHeader2" style=""><div style="padding-top:15px;padding-bottom:15px;"><div id="id_GZbLnvn" class="WaGadgetOnly WaGadgetBreadcrumbs alignCenter gadgetStyleNone" style="" data-componentId="GZbLnvn" ><div class="gadgetStyleBody " style=""  data-areaHeight="auto">
805<ul>
806<li><a href="https://villagrande.org/">Home</a></li>
807<li><a href="https://villagrande.org/MENU-HIDE">MENU HIDE</a></li>
808<li class="last"><span>News</span></li>
809</ul>
810</div>
811</div></div>
812</div></div>
813			</div>
814		</div>
815		<!-- /header zone -->
816
817<!-- content zone -->
818	<div class="zoneContentOuter">
819		<div class="zoneContent container_12">
820			<div class="zoneContentInner s1_grid_12 s2_grid_12 s3_grid_12">
821<div id="id_Content" data-componentId="Content" class="WaPlaceHolder WaPlaceHolderContent" style=""><div style="margin-bottom: 30px;padding-top:30px;padding-right:30px;padding-bottom:40px;padding-left:30px;padding-top:60px;padding-bottom:60px;"><div id="id_DFGVLij" data-componentId="DFGVLij" class="WaLayoutContainerFirst" style=""><table cellspacing="0" cellpadding="0" class="WaLayoutTable" style=""><tr data-componentId="DFGVLij_row" class="WaLayoutRow"><td id="id_ssJLloI" data-componentId="ssJLloI" class="WaLayoutItem" style="width:8%;"></td><td style="" data-componentId="ssJLloI_separator" class="WaLayoutSeparator"><div style="width: inherit;"></div></td><td id="id_CVgkiuk" data-componentId="CVgkiuk" class="WaLayoutItem" style="width:83%;"><div id="id_vzcaq57" class="WaLayoutPlaceHolder placeHolderContainer" data-componentId="vzcaq57" style=""><div style=""><div id="id_2Apu8TZ" class="WaGadgetFirst WaGadgetContent  gadgetStyleNone" style="" data-componentId="2Apu8TZ" ><div class="gadgetStyleBody gadgetContentEditableArea" style="" data-editableArea="0" data-areaHeight="auto">
822<h1 align="center">News</h1></div>
823</div><div id="id_fe9Un1X" class="WaGadgetLast WaGadgetContent  gadgetStyleNone" style="" data-componentId="fe9Un1X" ><div class="gadgetStyleBody gadgetContentEditableArea" style="" data-editableArea="0" data-areaHeight="auto">
824<p align="center">Stay up to date on news from the Friends of Villa Grande. Click the links below to see timely announcements and read our current and past newsletters.</p></div>
825</div></div></div></td><td style="" data-componentId="CVgkiuk_separator" class="WaLayoutSeparator"><div style="width: inherit;"></div></td><td id="id_EOSjTBB" data-componentId="EOSjTBB" class="WaLayoutItem" style="width:8%;"></td></tr></table> </div><div id="id_bBzWdMD" class="WaGadgetLast WaGadgetContent  gadgetStyleNone" style="" data-componentId="bBzWdMD" ><div class="gadgetStyleBody gadgetContentEditableArea" style="" data-editableArea="0" data-areaHeight="auto">
826<p align="center"><a href="/Announcements" class="stylizedButton buttonStyle002">Announcements</a><a href="/Newsletters" class="stylizedButton buttonStyle002">Newsletters</a></p></div>
827</div></div>
828</div></div>
829		</div>
830	</div>
831	<!-- /content zone -->
832
833<!-- footer zone -->
834		<div class="zoneFooterOuter">
835			<div class="zoneFooter container_12">
836				<div class="zoneFooterInner s1_grid_12 s2_grid_12 s3_grid_12">
837<div id="id_Footer" data-componentId="Footer" class="WaPlaceHolder WaPlaceHolderFooter" style=""><div style="padding-top:0px;padding-right:0px;padding-left:0px;"><div id="id_GHQRGWh" class="WaGadgetOnly WaGadgetMenuHorizontal invert menuStyle001" style="" data-componentId="GHQRGWh" ><div data-sticky-wrapper="true">
838    <div class="stickness">
839        <div class="menuBackground"></div>
840        <div class="menuInner">
841            <ul class="firstLevel">
842                <li class=" ">
843	<div class="item">
844		<a href="https://villagrande.org/" title="Home"><span>Home</span></a>
845</div>
846</li>
847	
848<li class=" ">
849	<div class="item">
850		<a href="https://villagrande.org/friends-of-villa-grande" title="Friends of Villa Grande"><span>Friends of Villa Grande</span></a>
851</div>
852</li>
853	
854<li class=" ">
855	<div class="item">
856		<a href="https://villagrande.org/patterson-point-preserve" title="Patterson Point Preserve"><span>Patterson Point Preserve</span></a>
857</div>
858</li>
859	
860<li class=" ">
861	<div class="item">
862		<a href="https://villagrande.org/our-community" title="Our Community"><span>Our Community</span></a>
863</div>
864</li>
865	
866<li class=" ">
867	<div class="item">
868		<a href="https://villagrande.org/MENU-HIDE" title="MENU HIDE"><span>MENU HIDE</span></a>
869</div>
870</li>
871	
872<li class=" ">
873	<div class="item">
874		<a href="https://villagrande.org/Search" title="Search"><span>Search</span></a>
875</div>
876</li>
877	
878</ul>
879        </div>
880    </div>
881</div>
882
883<script type="text/javascript">
884    if (window.WaMenuHorizontal)
885    {
886        jq$(document).ready(function()
887        {
888            new stickyPlaceholder();
889            new WaMenuHorizontal({ id: "id_GHQRGWh" });
890        });
891    }
892</script>
892
893
894
895<script type="text/javascript">
896    jq$(function()
897    {
898        var gadgetHorMenu = jq$('#id_GHQRGWh');
899        var leftOffset;
900
901        function resizeBg()
902        {
903            // background track
904
905            leftOffset = (gadgetHorMenu.closest('.WaLayoutTable').length > 0) ? gadgetHorMenu.closest('.WaLayoutTable').width() : gadgetHorMenu.width();
906
907            gadgetHorMenu.find('.menuBackground').css(
908            {
909                'width': jq$('body').width(),
910                'left': ( ( jq$('body').width() - leftOffset ) * -0.5 )
911            });
912        }
913
914        resizeBg();
915
916        jq$(window).resize(function()
917        {
918            resizeBg();
919        });
920    });
921</script>
921</div></div>
922</div></div>
923			</div>
924		</div>
925
926        <div class="zoneFooter1Outer">
927            <div class="zoneFooter1 container_12">
928                <div class="zoneFooter1Inner s1_grid_12 s2_grid_12 s3_grid_12">
929                    <div id="id_Footer1" data-componentId="Footer1" class="WaPlaceHolder WaPlaceHolderFooter1" style=""><div style="padding-right:0px;padding-bottom:0px;padding-left:0px;"><div id="id_vPTGQ7j" data-componentId="vPTGQ7j" class="WaLayoutContainerOnly" style=""><table cellspacing="0" cellpadding="0" class="WaLayoutTable" style=""><tr data-componentId="vPTGQ7j_row" class="WaLayoutRow"><td id="id_iS2J2bd" data-componentId="iS2J2bd" class="WaLayoutItem" style="width:100%;"><div id="id_vJAaO9J" class="WaLayoutPlaceHolder placeHolderContainer" data-componentId="vJAaO9J" style=""><div style="padding-top:40px;padding-right:40px;padding-bottom:30px;padding-left:40px;"><div id="id_tLAXTEI" class="WaGadgetFirst WaGadgetContent  gadgetStyleNone" style="" data-componentId="tLAXTEI" ><div class="gadgetStyleBody gadgetContentEditableArea" style="" data-editableArea="0" data-areaHeight="auto">
930<div align="center">
931  <a href="/" title="FoVG - Home"><img src="/resources/Pictures/FoVG/FoVG_Logo-web-large-white.png" title="" alt="Friends of Villa Grande logo" border="0" width="352"></a>
932</div></div>
933</div><div id="id_FaRDwin" class="WaGadgetLast WaGadgetContent  gadgetStyleNone" style="margin-bottom:30px;" data-componentId="VWtpbgk" ><div class="gadgetStyleBody gadgetContentEditableArea" style="" data-editableArea="0" data-areaHeight="auto">
934<div align="center">
935  <font color="#FFFFFF">P.O. Box 28, Villa Grande CA 95486</font>
936</div>
937
938<div align="center">
939  <font color="#FFFFFF">Friends of Villa Grande&nbsp;is a 501(c)(3), non-profit organization (tax ID 64-0964108)</font>
940</div>
941
942<div align="center">
943  <font color="#FFFFFF"><a href="http://www.friendsofvillagrande.org">www.friendsofvillagrande.org</a> | <a href="mailto:[email protected]" target="_blank">[email protected]</a> | <a href="/accessibility">Accessibility</a></font>
944</div></div>
945</div></div></div></td></tr></table> </div></div>
946</div></div>
947            </div>
948        </div>
949		<!-- /footer zone -->
950
951		<!-- branding zone -->
952<div class="zoneBrandingOuter">
953			<div class="zoneBranding container_12">
954				<div class="zoneBrandingInner s1_grid_12 s2_grid_12 s3_grid_12">
955<div id="idFooterPoweredByContainer">
956	<span id="idFooterPoweredByWA">
957Powered by <a href="http://www.wildapricot.com" target="_blank">Wild Apricot</a> Membership Software</span>
958</div>
959</div>
960			</div>
961		</div>
962<!-- /branding zone -->
963<div id="idCustomJsContainer" class="cnCustomJsContainer">
964<script>
965try
966{
967    
968/* FOVG accessibility shim v1.1 — Peter Otte Productions — built 2026-09-22 11:12 PDT (v1.0 2026-09-21 = blocks 1–6; v1.1 2026-09-22 = blocks 7–10).
969   Paste this whole block into Website → Settings → Site settings → Global JavaScript (with the GA4 tag, if any).
970   Wild Apricot's system gadgets (login, forms, store, mobile panel) render without labels or accessible
971   names and cannot be edited in the theme, so this adds them at page load. Safe to remove at any time. */
972(function () {
973  function ready(fn) { if (document.readyState !== 'loading') fn(); else document.addEventListener('DOMContentLoaded', fn); }
974  ready(function () {
975    try {
976      /* 1. Main landmark + skip link (WCAG 2.4.1) */
977      var main = document.getElementById('id_Content') || document.getElementById('id_Header1');
978      if (!main) {
979        var ph = document.querySelectorAll('.WaPlaceHolder');
980        for (var i = 0; i < ph.length; i++) {
981          var c = ph[i].className;
982          if (c.indexOf('MobilePanel') < 0 && c.indexOf('PlaceHolderHeader') < 0 && c.indexOf('Footer') < 0) { main = ph[i]; break; }
983        }
984      }
985      if (main) {
986        main.id = main.id || 'fovg-main';
987        if (!document.querySelector('[role="main"], main')) main.setAttribute('role', 'main');
988        main.setAttribute('tabindex', '-1');
989        var skip = document.createElement('a');
990        skip.className = 'fovg-skip'; skip.href = '#' + main.id; skip.textContent = 'Skip to main content';
991        skip.addEventListener('click', function (e) { e.preventDefault(); main.focus(); main.scrollIntoView(); });
992        document.body.insertBefore(skip, document.body.firstChild);
993      }
994      var nav = document.querySelector('.WaGadgetMenuHorizontal');
995      if (nav && !nav.getAttribute('role')) { nav.setAttribute('role', 'navigation'); nav.setAttribute('aria-label', 'Main menu'); }
996
997      /* 2. Inputs that only have a placeholder (login box, search) get an accessible name from it */
998      var inputs = document.querySelectorAll('input, select, textarea');
999      for (var j = 0; j < inputs.length; j++) {
1000        var el = inputs[j], t = (el.getAttribute('type') || '').toLowerCase();
1001        if (t === 'hidden' || t === 'submit' || t === 'button' || t === 'image') continue;
1002        var labelled = el.getAttribute('aria-label') || el.getAttribute('aria-labelledby') || (el.id && document.querySelector('label[for="' + el.id + '"]')) || el.closest('label');
1003        if (labelled) continue;
1004        /* 3. Wild Apricot form fields: the visible title sits in .fieldLabel span[id$="_titleLabel"] in the same row */
1005        var row = el.closest('tr') || el.closest('.fieldContainer') || el.closest('.fieldSubContainer');
1006        var title = row && row.querySelector('.fieldLabel span[id$="_titleLabel"], .fieldLabel .mandatoryLabel, .fieldLabel');
1007        if (title && title.textContent.trim()) {
1008          if (!title.id) title.id = 'fovg-lbl-' + j;
1009          el.setAttribute('aria-labelledby', title.id);
1010          if (row.querySelector('.mandatorySymbol')) el.setAttribute('aria-required', 'true');
1011        } else if (el.getAttribute('placeholder')) {
1012          el.setAttribute('aria-label', el.getAttribute('placeholder'));
1013        }
1014      }
1015
1016      /* 4. Store catalog: the image link duplicates the title link and has no name — make the image
1017            describe the product and take the duplicate link out of the tab order (WCAG 1.1.1, 2.4.4) */
1018      var items = document.querySelectorAll('.OnlineStoreCatalog_list_item');
1019      for (var k = 0; k < items.length; k++) {
1020        var link = items[k].querySelector('.OnlineStoreCatalog_list_item_link');
1021        var imgLink = items[k].querySelector('.OnlineStoreCatalog_list_item_img');
1022        var name = link ? link.textContent.trim() : '';
1023        var img = imgLink && imgLink.querySelector('img');
1024        if (img && !img.getAttribute('alt')) img.setAttribute('alt', name);
1025        if (imgLink && link) { imgLink.setAttribute('aria-hidden', 'true'); imgLink.setAttribute('tabindex', '-1'); }
1026      }
1027      /* Product detail pages: the big photo usually has no alt either */
1028      var detailImgs = document.querySelectorAll('.OnlineStoreProduct img:not([alt]), .WaGadgetOnlineStoreProduct img:not([alt])');
1029      var h1 = document.querySelector('h1');
1030      for (var d = 0; d < detailImgs.length; d++) detailImgs[d].setAttribute('alt', h1 ? h1.textContent.trim() : 'Product photo');
1031
1032      /* 5. Mobile panel "Menu" / "Log in" are divs — make them real keyboard buttons (WCAG 2.1.1) */
1033      var btns = document.querySelectorAll('.mobilePanelButton');
1034      for (var b = 0; b < btns.length; b++) {
1035        btns[b].setAttribute('role', 'button'); btns[b].setAttribute('tabindex', '0');
1036        btns[b].addEventListener('keydown', function (e) { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); this.click(); } });
1037      }
1038
1039      /* 6. Empty headings that Wild Apricot emits for blank title gadgets add noise to the outline */
1040      var hs = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
1041      for (var h = 0; h < hs.length; h++) {
1042        if (!hs[h].textContent.trim() && !hs[h].querySelector('img')) hs[h].parentNode.removeChild(hs[h]);
1043      }
1044
1045      /* 7. Heading outline repair (drop 2, 9/22): Wild Apricot's system gadgets emit h3/h4 titles with no h2 above
1046         them (Donation, Select membership level, Upcoming/Past events), and content pages jump h1 -> h4. Screen
1047         readers honour aria-level, so a heading that skips a level is announced at the next level down instead. */
1048      var last = 0, all = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
1049      for (var k = 0; k < all.length; k++) {
1050        var lvl = parseInt(all[k].tagName.charAt(1), 10);
1051        if (last && lvl > last + 1) { all[k].setAttribute('role', 'heading'); all[k].setAttribute('aria-level', String(last + 1)); lvl = last + 1; }
1052        last = lvl;
1053      }
1054
1055      /* 8. Events gadget: the list/calendar view-switcher icon is a system image with no alt (decorative; the
1056         switch itself is a labelled control) */
1057      var deco = document.querySelectorAll('img.calendarModeIcon, img[id$="calendarModeIcon"], img[id$="listModeIcon"], img[src*="async-load-progress"], img.lb
1057-image');
1058      for (var i2 = 0; i2 < deco.length; i2++) { if (!deco[i2].hasAttribute('alt')) { deco[i2].setAttribute('alt', ''); deco[i2].setAttribute('role', 'presentation'); } }
1059
1060      /* 9. The events gadget prints a second, text-less <h1 class="SystemPageTitle"> that only holds the RSS link.
1061         Keep the link, drop the heading semantics so the page has one title. */
1062      var sys = document.querySelectorAll('h1.SystemPageTitle, h2.SystemPageTitle');
1063      for (var i3 = 0; i3 < sys.length; i3++) { if (!sys[i3].textContent.trim()) sys[i3].setAttribute('role', 'presentation'); }
1064
1065      /* 10. Wild Apricot writes autocomplete="nope" on donation/membership fields to defeat autofill; "nope" is not a
1066         valid token (WCAG 1.3.5), "off" is. And the icon-only RSS link on the events page gets a name. */
1067      var ac = document.querySelectorAll('[autocomplete="nope"]');
1068      for (var i4 = 0; i4 < ac.length; i4++) ac[i4].setAttribute('autocomplete', 'off');
1069      var rss = document.querySelectorAll('a[id$="_rssLink"], a[href$="/events/RSS"]');
1070      for (var i5 = 0; i5 < rss.length; i5++) { if (!rss[i5].textContent.trim() && !rss[i5].getAttribute('aria-label')) rss[i5].setAttribute('aria-label', 'Events RSS feed'); }
1071    } catch (err) { if (window.console) console.warn('FOVG a11y shim:', err); }
1072  });
1073})();
1074
1075}
1076catch(err)
1077{}</script>
1077</div>
1078</div></body>
1079</html>
1080<script type="text/javascript">if (window.BonaPage && BonaPage.setPageState) { BonaPage.setPageState(BonaPage.PAGE_PARSED); }</script>

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.