PageSourceSearch

https://inrcog.org/news/index.php

html inrcog.org collected 2026-10-05 18:10:53 UTC 119,550 bytes, 3,127 lines download raw bytes

1
2
3
4<!DOCTYPE html>
5<html lang="en">
6<head>
7	<base href="https://inrcog.org/" />
8	<meta charset="utf-8">
9	<meta http-equiv="X-UA-Compatible" content="IE=edge">
10	<meta name="viewport" content="width=device-width, initial-scale=1">
11
12
13
14
15
16<!-- Metadata Area Starts -->	<title>Iowa Northland Regional Council of Government</title>
17	<meta property="og:title" content="Iowa Northland Regional Council of Government" />
18	<meta property="og:image" content="https://inrcog.org/website_assets/images/logo.png?t=202604071045470" />
19
20
21<link href="/revize/plugins/setup/css/revize.css" rel="stylesheet" type="text/css" />
22
23
24
25<script type="text/javascript">
26
27
28
29</script>
29
30
31
32
33
34
35
36
37<!-- #jquery -->
38    
38<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/jquery/jquery.min.js"></script>
38
39
40<!-- #jquery lazy -->
41    
41<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/jquery.lazy-master/jquery.lazy.min.js"></script>
41
42    
43<!-- #masonry scripts -->
44    
44<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/masonry.pkgd.min.js" crossorigin="anonymous"></script>
44
45    
45<script src="https://code.jquery.com/ui/1.14.0/jquery-ui.js"></script>
45
46    
47<!-- #lightGallery scripts -->
48    
48<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/lightGallery-master/dist/lightgallery.min.js"></script>
48
49    
50<!-- lightgallery plugins -->
51    
51<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/lightGallery-master/dist/plugins/thumbnail/lg-thumbnail.umd.js"></script>
51
52    
52<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/lightGallery-master/dist/plugins/zoom/lg-zoom.umd.js"></script>
52
53    
53<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/lightGallery-master/dist/plugins/video/lg-video.min.js"></script>
53
54
55<!-- #lightGallery css -->
56    <link href="/revize/plugins/zbuilder/v1/website/_assets_/plugins/lightGallery-master/dist/css/lightgallery-bundle.min.css" rel="stylesheet" />
57    
58<!-- #bootstrap js + popper js -->
59    
59<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/popperjs/popper.min.js"></script>
59
60    
60<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/bootstrap/js/bootstrap.min.js"></script>
60
61
62<!-- #bootstrap css and fonts -->
63    <link href="/revize/plugins/zbuilder/v1/website/_assets_/plugins/bootstrap/css/bootstrap.css" rel="stylesheet" />
64    <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" rel="stylesheet" />
65
66<!-- #dotjs -->
67    
67<script src="/revize/plugins/revize_calendar/doT.min.js"></script>
67
68        
69<!-- #tiny sider -->
70    <link href="/revize/plugins/zbuilder/v1/website/_assets_/plugins/tiny-slider/dist/tiny-slider.css" rel="stylesheet" />
71    
71<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/tiny-slider/dist/min/tiny-slider.js"></script>
71
72    
73<!-- #font awesome css -->
74    <link href="/revize/plugins/zbuilder/v1/website/_assets_/fonts/font-awesome/css/all.min.css" rel="stylesheet" >
75	
76<!-- #font Google Material Icons -->    
77    <link href="https://fonts.googleapis.com/css2?family=Material+Icons" rel="stylesheet" />
78    <link href="https://fonts.googleapis.com/css2?family=Material+Icons+Outlined" rel="stylesheet" />
79
80<!-- #aos css + js-->
81    
81<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/aos/src/js/aos.min.js"></script>
81
82    <link href="/revize/plugins/zbuilder/v1/website/_assets_/plugins/aos/src/css/aos.min.css" rel="stylesheet" >
83<!-- #aos -->
84
85<!-- #fitty -->
86    
86<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/fitty-gh-pages/dist/fitty.min.js"></script>
86
87    
87<script src="/revize/plugins/zbuilder/v1/website/_assets_/plugins/revizeWeather/js/revizeWeather.min.js"></script>
87
88
89<!-- #layout css -->
90    <link href="/revize/plugins/zbuilder/v1/website/_assets_/css/layout.css?v=1" rel="stylesheet">
91    <link href="_assets_/css/css_variables_T34_R3.css?t=1784922996000" rel="stylesheet">
92
93<!-- #favicons -->
94    <link rel="shortcut icon" href="website_assets/images/favicon.png?t=202604071047550">
95    <link rel="apple-touch-icon" href="website_assets/images/favicon.png?t=202604071047550">
96    <meta name="theme-color" content="#1e2450" />
97
98    
99
100
101<style>
102@media (max-width: 767px) {
103    .rz-news-card-list.row-cols-xs > * {flex: 0 0 auto; width:100.0%}
104}
105@media (min-width: 768px) and (max-width: 991px) {
106    .rz-news-card-list.row-cols-md > * {flex: 0 0 auto; width:50.0%}
107}
108@media (min-width: 992px) {
109    .rz-news-card-list.row-cols-lg > * {flex: 0 0 auto; width:33.333332%}
110}
111</style>
112
113
114
115<link href="/revize/plugins/revize_calendar/core/main.css" rel="stylesheet" />
116<link href="/revize/plugins/revize_calendar/daygrid/main.min.css" rel="stylesheet" />
117<link href="/revize/plugins/revize_calendar/timegrid/main.min.css" rel="stylesheet" />
118<link href="/revize/plugins/revize_calendar/list/main.min.css" rel="stylesheet" />
119<link href="_assets_/plugins/revizeCalendar/css/mini.css" rel="stylesheet" />
120<link href="/revize/plugins/revize_calendar/core/nav-panels.css" rel="stylesheet" />
120<script>
121	var defaultCalendarColor = "#3788d8";
122	var ImportCals = [];
123	var calendarProps = {'2' : { 'color' : '#1e2450' , 'name' : 'Events' },
124};
125	var RZCalendarTimezone = "";
126</script>
126
127
128</head>
129<body id="freeform" class="freeform-fullwidth rz-page-links-51" data-zipcode="50703" data-header-left="false">
130
131
132
133
134<script type="text/javascript">
135if (typeof(RZ) == 'undefined') RZ = {};
136if (!RZ.link) RZ.link = new Object();
137RZ.pagetype = 'template'
138RZ.baseurlprefix = '../'
139RZ.baseurlpath = 'news/'
140RZ.protocolRelativeRevizeBaseUrl='//builder1.revize.com'
141
142RZ.pagetemplatename = 'freeform'
143RZ.pagetemplateid = '1'
144RZ.pagemodule = 'links'
145RZ.pagemoduleid = '1'
146RZ.pagerecordid = '51';
147
148RZ.pageid = 'links-51';
149RZ.pageparentid = '0';
150RZ.pagesectionid = '51';
151RZ.pagesectionname = 'news';
152RZ.pagesectionlevel = '1';
153RZ.pagesectionfolder = 'news/';
154RZ.pagesectionfilter = 'sectionid=51';
155RZ.pagelinkfilter = 'linklevel=1 and linksectionid=51';
156RZ.pagelinklevel = '1';
157RZ.pagelinkid = '51';
158RZ.pageidfield = '';
159
160RZ.isnewrecord = false;
161RZ.editmodule = '';
162RZ.editrecordid = '51';
163RZ.editrecordversion = '';
164RZ.editversion = '';
165RZ.editaction = '';
166
167RZ.page_roles = ''
168RZ.page_users = '4779ffcc0ef22cbc05648d2662162de37e98193568416f761242e0a6a5f1d43a'
169RZ.page_key = 'freeform[51]'
170RZ.parent_key = 'index[]'
171RZ.inherit_key = 'index[]'
172RZ.workflowname = ''
173RZ.permissions_options = 'warningsOFF'
174RZ.permissions_module = 'webspace_page_permissions'
175RZ.webspace = 'inrcog'
176RZ.webspacedesc = "";
177
178RZ.featurespattern = '(EZ)';
179null
180
181RZ.webspacelinksurl = ''
182RZ.webspacelinksurl = './webspace/links.html'
183RZ.workflowlist = ''
184RZ.revizeserverurl = 'https://builder1.revize.com/revize/inrcog';
185
186if (!RZ.nextseq) RZ.nextseq = {linknames:{},modules:{}};
187
188RZ.webspace_config = new Object();
189RZ.webspace_config.admin_email = "[email protected]";
190RZ.webspace_config.calendar_options = "max_events=6";
191RZ.webspace_config.form_captcha = "yes";
192RZ.webspace_config.form_server = "revizeserver";
193RZ.webspace_config.form_technology = "jsp";
194RZ.webspace_config.formwizard_ftp_password = "";
195RZ.webspace_config.formwizard_ftp_port = "";
196RZ.webspace_config.formwizard_ftp_server = "";
197RZ.webspace_config.formwizard_ftp_user = "";
198RZ.webspace_config.formwizard_setup = "yes";
199RZ.webspace_config.formwizard_smtp_password = "xxx";
200RZ.webspace_config.formwizard_smtp_server = "xxx";
201RZ.webspace_config.formwizard_smtp_user = "xxx";
202RZ.webspace_config.google_analytics = "";
203RZ.webspace_config.home_pageid = "0";
204RZ.webspace_config.home_sectionid = "0";
205RZ.webspace_config.home_template = "home,index,sitemap";
206RZ.webspace_config.icon_email = "<img src=\"/revize/images/email_icon_yellow.gif\" width=\"16\" border=\"0\" height=\"17\" title=\"Request email notification when page changes\" alt=\"Request email notification when page changes\" style=\"\" />";
207RZ.webspace_config.image_maxheight = "3000";
208RZ.webspace_config.image_maxwidth = "3000";
209RZ.webspace_config.image_setup = "yes";
210RZ.webspace_config.livesite_url = "";
211RZ.webspace_config.menu_links_module = "links";
212RZ.webspace_config.menu_newsection = "";
213RZ.webspace_config.menu_nexturl = "webspace_menu-editform.jsp";
214RZ.webspace_config.menu_sections_module = "sections";
215RZ.webspace_config.menu_system = "custom";
216RZ.webspace_config.menu_version = "1.00";
217RZ.webspace_config.new_menu_manager_enabled = "yes";
218RZ.webspace_config.notify_options = "hide_text=yes";
219RZ.webspace_config.notify_return_url = "enotify/index.php";
220RZ.webspace_config.rte_setup = "yes";
221RZ.webspace_config.to_email = "[email protected]";
222RZ.webspace_config.use_folders = "1";
223
224RZ.isauthenticationactive = true
225RZ.warning = ""
226RZ.adminwinmsg = null
227
228RZ.channels = 'revize';
229RZ.jsversion = 1.2</script>
vendor: 2 bytes, line 229
229
230<script type="text/javascript" src="/revize/util/snippet_helper.js"></script>
230
231
232
233<script>
234document.addEventListener('DOMContentLoaded', function() {
235	RZ.module  = 'emailnotify_messages';
236	RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/emailnotify.jsp";
237	RZ.img     = '<i class="bi bi-bell fs-4"></i>';
238	RZ.caption = '';
239	RZ.set     = 'pageid=links-51';
240	RZ.active  = 'html';
241	if (typeof RZaction != 'undefined') {
242			var tag = RZaction('editform');
243			RZBarAddButton(null, {content: tag, tooltip: "Send ENotify", class: "rz-bar-btn-alert"});
244	}
245});
246	</script>
246
247<div class="skippy visually-hidden-focusable left-top mt-3 position-fixed align-items-center" style="z-index:1026">
248	<div class="container-xl">
249		<a class="d-inline-flex btn btn-light bg-white px-4 p-3 gap-4 align-items-center"
250			href="news/index.php#rz-content-wrap">
251			<span class="d-inline-flex align-items-center gap-2">
252				<i class="bi bi-window-sidebar fs-4" aria-hidden="true"></i>
253				<span>Skip to main content</span>
254				<span class="ms-5" aria-hidden="true">
255					<svg width="26" height="27" viewBox="0 0 26 27" xmlns="http://www.w3.org/2000/svg" role="presentation" aria-hidden="true">
256						<g fill="none" fill-rule="evenodd">
257							<path d="M4.498 24.3v-.872H1.5v-1.37h2.716v-.872H1.5v-1.27h3v-.872H.542V24.3h3.955zm1.909 0v-3.695L9.183 24.3h.95v-5.256h-.95v3.695l-2.776-3.695H5.45V24.3h.957zm7.21 0v-4.383h1.682v-.873h-4.314v.873h1.683V24.3h.948zm6.421 0v-.872H17.04v-1.37h2.716v-.872H17.04v-1.27h3v-.872h-3.956V24.3h3.955zm1.84 0v-1.767h1.017l1.24 1.767h1.086l-1.316-1.867c.757-.237 1.27-.849 1.27-1.644 0-1.025-.842-1.745-1.966-1.745H20.92V24.3h.957zm1.224-2.647h-1.224v-1.729h1.224c.65 0 1.101.33 1.101.865 0 .535-.451.864-1.101.864z"
258								fill="currentColor" fill-rule="nonzero" />
259							<path d="M18.9 1v6.3a2.7 2.7 0 0 1-2.7 2.7H5.4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
260							<path d="M8.1 12.7L5.4 10l2.7-2.7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
261						</g>
262					</svg>
263				</span>
264			</span>
265		</a>
266	</div>
267</div>
268<script>function RZBarAddButton() { return false; }</script>
268
269
270
271
272<header class="site-header-wrap" data-menu-onhover="true" data-mega-at="4" data-nav-icons="false" data-logo="image" data-logo-tagline="false" data-logo-move="false" data-sticky="true" data-menu-buttons-left="false">
273	<div class="site-header">
274
275
276
277
278<div class="rz-section-block-wrap position-relative">
279  
280  
281  
282  <div class="rz-section-block container" style="max-width:100%;">
283
284
285
286
287
288<div class="rz-row-block d-grid opt_row_columns_7 align-items-center" style="grid-template-columns:238px 2fr 210px;">
289<div class="rz-column-block d-lg-flex flex-lg-wrap flex-lg-row justify-content-lg-between align-items-lg-center">
290    <div class="rz-element-wrapper logo-section d-flex d-lg-block">
291        
292        <div class="responsive-menu align-items-center d-flex d-lg-none gap-1">
293            <button class="offcanvasHeaderItems-toggler btn btn-link text-dark p-2 lh-1 text-dark" data-bs-toggle="offcanvas" data-bs-target="#offcanvasHeaderItems" aria-controls="offcanvasHeaderItems" aria-label="Toggle navigation">
294                <i class="bi bi-three-dots" aria-hidden="True"></i>
295            </button>
296            <button id="mobile-share-btn" class="flex-shrink-0 btn btn-link text-dark p-2 lh-1 text-dark" data-bs-toggle="modal" data-bs-target="#shareModal" aria-label="Open share modal">
297                <i class="bi bi-share-fill" aria-hidden="True"></i>
298            </button>
299        </div><!-- /.responsive-menu -->
300        
301                
302            <a href="./" class="flex-fill d-flex text-center flex-column text-decoration-none main-logo main-logo-text justify-content-center">
303                <span class="lh-1">Iowa Northland Regional Council of Government</span>
304                                <p class="logo-tagline lh-1 m-0">Live work play</p>
305                            </a>
306                    
307                    <a href="./" class="d-flex align-items-center text-decoration-none main-logo main-logo-image">
308                <img loading="lazy" src="website_assets/images/logo.png?t=202604071045470" alt="Iowa Northland Regional Council of Government" class="header-logo-img">
309                            </a>
310            
311        <div class="offcanvas-toggles align-items-center d-flex d-lg-none gap-1">
312            <button class="search-toggle btn btn-link text-dark p-2 lh-1 text-dark" data-bs-toggle="modal" data-bs-target="#searchModal" aria-label="Toggle search">
313                <i class="fa-solid fa-magnifying-glass" aria-hidden="True"></i>
314            </button>
315            <button class="navbar-toggler btn btn-link text-dark p-2 lh-1 text-dark" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNav" aria-controls="offcanvasNav" aria-label="Toggle navigation">
316                <i class="fa-solid fa-bars" aria-hidden="True"></i>
317            </button>
318        </div><!-- /.offcanvas-toggles -->
319    
320    </div><!-- /.rz-element-wrapper -->
321</div><div class="rz-column-block d-lg-flex flex-lg-wrap justify-content-lg-center">
322<div class="offcanvas-lg offcanvas-end" tabindex="-1" id="offcanvasNav" aria-labelledby="offcanvasNavLabel">
323    <div class="offcanvas-header border-bottom">
324        <h5 class="offcanvas-title" id="offcanvasNavLabel">Main Menu</h5>
325        <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close" data-bs-target="#offcanvasNav"></button>
326    </div>
327
328    <div class="offcanvas-body pt-0">
329        
330        <div class="rz-element-wrapper rz-topnav-block-wrapper has-edit-buttons">
331            <div class="rz-element rz-topnav-wrap">
332                <div class="rz-topnav-element">
333              	    
334
335
336
337 
338<ul id="nav" class="v2_05-23-2012">
339	<li class="menuLI level0 menuDisplay li-78"><a class="menuA level0 menuDisplay" href="index.php" target="_self">Home</a></li>
340	<li class="menuLI level0 menuDisplay li-134 children"><a class="menuA level0 menuDisplay" href="about_inrcog/index.php" target="_self">About INRCOG</a>
341		<ul class="menuUL level1 menuHidden ul-185">
342			<li class="menuLI level1 menuHidden li-185"><a class="menuA level1 menuHidden" href="about_inrcog/member_communities.php" target="_self">
342Member Communities</a></li>
343			<li class="menuLI level1 menuHidden li-136"><a class="menuA level1 menuHidden" href="about_inrcog/staff.php" target="_self">Staff</a></li>
344			<li class="menuLI level1 menuHidden li-137"><a class="menuA level1 menuHidden" href="about_inrcog/boards_and_commissions.php" target="_self">Boards and Commissions</a></li>
345			<li class="menuLI level1 menuHidden li-138"><a class="menuA level1 menuHidden" href="about_inrcog/meetings.php" target="_self">Meetings</a></li>
346			<li class="menuLI level1 menuHidden li-139"><a class="menuA level1 menuHidden" href="about_inrcog/job_opportunities.php" target="_self">Job Opportunities</a></li>
347			<li class="menuLI level1 menuHidden li-140"><a class="menuA level1 menuHidden" href="about_inrcog/title_vi.php" target="_self">Title VI</a></li>
348			<li class="menuLI level1 menuHidden li-370"><a class="menuA level1 menuHidden" href="about_inrcog/monthly_newsletter.php" target="_self">Monthly Newsletter</a></li>
349		</ul>
350	</li>
351	<li class="menuLI level0 menuDisplay li-141 children"><a class="menuA level0 menuDisplay" href="services/index.php" target="_self">Services</a>
352		<ul class="menuUL level1 menuHidden ul-142">
353			<li class="menuLI level1 menuHidden li-142 children"><a class="menuA level1 menuHidden" href="services/community_planning_development/index.php" target="_self">Community Planning & Development</a>
354				<ul class="menuUL level2 menuHidden ul-143">
355					<li class="menuLI level2 menuHidden li-143"><a class="menuA level2 menuHidden" href="services/community_planning_development/housing/index.php" target="_self">Housing</a></li>
356					<li class="menuLI level2 menuHidden li-144"><a class="menuA level2 menuHidden" href="services/community_planning_development/environment/index.php" target="_self">Environment</a></li>
357					<li class="menuLI level2 menuHidden li-145"><a class="menuA level2 menuHidden" href="services/community_planning_development/emergency_preparedness.php" target="_self">Emergency Preparedness</a></li>
358					<li class="menuLI level2 menuHidden li-146"><a class="menuA level2 menuHidden" href="services/community_planning_development/recreation.php" target="_self">Recreation</a></li>
359				</ul>
360			</li>
361			<li class="menuLI level1 menuHidden li-147"><a class="menuA level1 menuHidden" href="services/data_services.php" target="_self">Data Services</a></li>
362			<li class="menuLI level1 menuHidden li-148 children"><a class="menuA level1 menuHidden" href="services/economic_development/index.php" target="_self">Economic Development</a>
363				<ul class="menuUL level2 menuHidden ul-230">
364					<li class="menuLI level2 menuHidden li-230"><a class="menuA level2 menuHidden" href="services/economic_development/inredc_revolving_loan_fund.php" target="_self">INREDC Revolving Loan Fund</a></li>
365				</ul>
366			</li>
367			<li class="menuLI level1 menuHidden li-149"><a class="menuA level1 menuHidden" href="services/iowa_northland_city_clerks_county_auditors_assn.php" target="_self">Iowa Northland City Clerks/County Auditors Assn.</a></li>
368			<li class="menuLI level1 menuHidden li-150 children"><a class="menuA level1 menuHidden" href="services/transit/index.php" target="_self">Transit</a>
369				<ul class="menuUL level2 menuHidden ul-249">
370					<li class="menuLI level2 menuHidden li-249"><a class="menuA level2 menuHidden" href="http://onboardpublictransit.com/" target="_new">OnBoard Public Transit</a></li>
371				</ul>
372			</li>
373			<li class="menuLI level1 menuHidden li-152 children"><a class="menuA level1 menuHidden" href="services/transportation_planning_/index.php" target="_self">Transportation Planning</a>
374				<ul class="menuUL level2 menuHidden ul-154">
375					<li class="menuLI level2 menuHidden li-154"><a class="menuA level2 menuHidden" href="services/transportation_planning_/black_hawk_county_mpo.php" target="_self">Black Hawk County MPO</a></li>
376					<li class="menuLI level2 menuHidden li-155"><a class="menuA level2 menuHidden" href="services/transportation_planning_/inrta.php" target="_self">INRTA</a></li>
377					<li class="menuLI level2 menuHidden li-156"><a class="menuA level2 menuHidden" href="services/transportation_planning_/safe_routes_to_school.php" target="_self">Safe Routes to School</a></li>
378				</ul>
379			</li>
380			<li class="menuLI level1 menuHidden li-157"><a class="menuA level1 menuHidden" href="services/contractor_registration-black_hawk_county_iowa.php" target="_self">Contractor Registration-Black Hawk County, Iowa</a></li>
381		</ul>
382	</li>
383	<li class="menuLI level0 menuDisplay li-158"><a class="menuA level0 menuDisplay" href="document_library/index.php" target="_self">Document Library</a></li>
384	<li class="menuLI level0 menuDisplay li-159"><a class="menuA level0 menuDisplay" href="grant_opportunities/index.php" target="_self">Grant Opportunities</a></li>
385</ul>
386
387
388<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 388-389
388
389<script async src="https://www.googletagmanager.com/gtag/js?id=
389G-JS1FEF695B
vendor: 12 bytes, line 389
389"></script>
390<script>
vendor: 127 bytes, lines 391-394
391window.dataLayer = window.dataLayer || [];
392function gtag(){dataLayer.push(arguments);}
393gtag('js', new Date());
394gtag('config', '
394G-JS1FEF695B
vendor: 4 bytes, line 394
394');
395</script>
395
396                </div><!-- /.rz-topnav-element -->
397            </div><!-- /.rz-element -->
398        
399        </div><!-- /.rz-element-wrapper -->
400
401    </div><!-- /.offcanvas-body -->
402</div><!-- /.offcanvas-lg -->    
403</div><div class="rz-column-block d-lg-flex flex-lg-wrap justify-content-lg-end">
404    <div class="header-element header-search-toggle d-none d-lg-flex align-items-stretch gap-0"> 	
405        <div class="vr vr-s"></div>
406        <button type="button" class="btn btn-link px-3 search-toggle d-flex align-items-center" data-bs-toggle="modal" data-bs-target="#searchModal">
407            <i class="bi bi-search" for="site-search-input"></i><span class="sr-only">Search</span>
408        </button>
409        <div class="vr vr-e"></div>
410    </div><!--/#header-element-->
411
412	<div class="rz-element-wrapper header-translate-wrap relative d-none d-lg-flex align-items-stretch gap-0">
413		<div class="vr vr-s"></div>
414		<button class="btn text-start translate-button btn btn-link relative px-3 d-flex align-items-center" type="button" aria-expanded="false" data-bs-toggle="modal" data-bs-target="#translateModal">
415			<div class="fi fi-us selected-flag"></div>
416			<i class="bi bi-translate me-2"></i>
417			<span class="visually-hidden">Translate</span>
418			<span class="translate-text">Translate</span>
419		</button>
420			<button class="btn text-start translate-reset px-2" translate="no">
421			<i class="fa-solid fa-power-off" aria-hidden="true"></i>
422			<span class="visually-hidden">Reset Translation</span>
423		</button>
424		<div class="vr vr-e"></div>
425	</div>
426</div>
427
428
429
430</div><!-- /.rz-row-block -->
431
432
433
434
435  </div><!-- /.rz-section-block -->
436</div><!-- /.rz-section-block-wrap -->
437
438
439	</div><!-- /.site-header -->
440</header><!-- /.site-header-wrap -->
441<div class="rz-site-wrap">
442	<main id="rz-content-wrap">
443
444		
445
446
447<!-- --><div class="rz-element-wrapper rz-slider-wrapper has-edit-buttons position-relative overflow-hidden" style=" --rz-slider-bg:#000000; ">
448
449	<div class="center-center">
450		<div class="rz-btns-container">
451			
451<script language="JavaScript" type="text/JavaScript">
452                RZ.module = 'generic';
453                RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/slider-editform.jsp";
454                RZ.img = '<span class="rzBtn rzBtn-sm">Edit Slider</span>';
455                RZ.caption = '';
456                RZ.set = 'pageid=slider-51';
457                RZ.options = '';
458                if (typeof RZaction != 'undefined') RZaction('editform');
459            </script>
459
460		</div>
461	</div>
462	
463	
464	<div
465			
466			data-controls-position="bottom"
467			class="rz-freeform-slider rz-slider tiny-carousel-wrap"
468			
469			style="
470					
471					
472					
473					
474					
475					
476					
477					
478					
479					"
480	>
481			
482	
483			<div class="rz-slider-bg-overlay" ></div>
484	
485			
486			
487					<div class="tiny-slider"
488							style="height:100%;"
489							data-tiny-items="1"
490							data-tiny-mode="gallery"
491							data-tiny-items-md="1"
492							data-tiny-items-sm="1"
493							data-tiny-gap="0"
494							data-tiny-controls="true"
495							data-tiny-nav="true"
496							data-tiny-autoplay-buttons="true"
497							data-tiny-autoplay="true">
498							
499									<div class="tiny-item" style="height:100%;">
500											<div class="tns-lazy-img tns-bg-slide"
501													 data-style="background:url('website_assets/images/inslide1.jpg?t=202604090946240') center center / cover no-repeat;"></div>
502									</div>
503							
504					</div><!--/.tiny-slider-->
505			
506	</div><!-- /.slider -->
507	<div class="rz-slider-caption-wrap d-flex flex-column overflow-hidden justify-content-center align-items-start">
508		<div class="rz-slider-caption container d-flex flex-column align-items-start">
509						<div class="rz-slider-caption-title d-flex flex-column text-left justify-content-center align-items-start">
510				
511									<nav aria-label="breadcrumb" class="breadcrumb">
512	<ul><li><a href="./">Home</a> </li><li>News</li></ul></nav>
513							
514				<h1>News</h1>
515			
516							
517			</div>
518					</div><!-- /.rz-slider-caption -->
519	</div><!-- /.rz-slider-caption-wrap -->
520</div><!-- /.slider-wrap -->
521
522
523		<div id="freeform-content-wrapper" class="position-relative z-3">
524					<div class="container-fluid px-0 d-flex flex-column flex-lg-row flex-lg-nowrap">
525				<div class="col freeform-left-col-fill"></div>
526
527				<div class="col-post-wrap">
528					<div class="col-post h-100">
529						<div id="post" class="h-100">
530												<div class="post-content h-100">
531							<!-- main content -->
532							
533							
534
535
536
537<div class="rz-section-block-wrap position-relative">
538  
539  
540  
541  <div class="rz-section-block container">
542
543
544
545
546
547<div class="rz-row-block d-grid">
548<div class="rz-column-block">
549
550
551
552<div class="rz-element-wrapper rz-news-card-wrapper has-edit-buttons" data-infinite="false" data-cards-per-page="9" data-rz-search-module="news">
553    <div class="center-top">
554        <div class="rz-btns-container">
555            
555<script>
556                RZ.module = 'news';
557                RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/news-editlist.jsp?width=370&height=450&pageid=a07a4369-8ee3-4050-a79e-6faf22b336a1";
558                RZ.img = '<span class="rzBtn rzBtn-sm">Edit Articles</span>';
559                RZ.set = 'pageid=a07a4369-8ee3-4050-a79e-6faf22b336a1';
560                if (typeof RZaction !== 'undefined') RZaction('editlist');
561            </script>
561
562            
562<script>
563                RZ.module = 'generic_lists';
564                RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/categories-editlist.jsp?type=category-news_list";
565                RZ.img = '<span class="rzBtn rzBtn-sm">Edit Categories</span>';
566                RZ.set = '';
567                if (typeof RZaction !== 'undefined') RZaction('editlist');
568            </script>
568
569        </div>
570    </div>
571    
572
573
574    <div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 rz-news-card-list mt-0"
575        style="--bs-gutter-y:15px;--bs-gutter-x:15px;">
576<slot
577	  data-type="dot-feed"
578      data-content-template="/revize/plugins/zbuilder/v1/website/_assets_/templates/news_list/base.html" 
579      data-content-feed="_includes_/published/news_list.json" 
580      data-content-options='{"opt_start_cutoff":"show_all","news_list_card_style":"stacked","category_filter":"77","sort_order":"date asc, seq_no asc","news_list_link_to":"modal","news_button_text":"Read More"}'>
581    </slot>
582	
583    </div><!-- /.row -->
584
585</div><!-- /.rz-element-wrapper -->
586<script src="/revize/plugins/zbuilder/v1/website/builder/modules/assets/news_list.js"></script>
586
587
588
589
590</div>
591
592
593
594</div><!-- /.rz-row-block -->
595
596
597
598
599  </div><!-- /.rz-section-block -->
600</div><!-- /.rz-section-block-wrap -->
601
602
603						</div><!-- /.post-content -->
604						</div><!-- /#post -->
605					</div><!-- /.col-post -->
606				</div><!-- /.col-post-wrap -->
607				<div class="col freeform-right-col-fill"></div>
608			</div><!-- /.row -->
609		</div><!-- /.freeform-content-wrapper -->
610	</main><!-- /#rz-content-wrap -->
611
612
613
614
615<footer class="site-footer-wrap">
616	<div class="site-footer">
617
618
619
620
621<div class="rz-section-block-wrap position-relative" style="--rz-section-padding-sm:45px 0;--rz-section-padding-md:75px 0 65px;--rz-section-padding-lg:75px 0 65px;">
622  
623  
624  
625  <div class="rz-section-block container">
626
627
628
629
630
631<div class="rz-row-block d-grid opt_row_columns_5" style="grid-template-columns:394px 1fr 1fr 1fr;">
632<div class="rz-column-block">
633    <div class="rz-element-wrapper rz-rte-block-wrapper footer-logo-section d-flex">
634        
635        <a href="./" class="d-flex align-items-center text-decoration-none footer-logo">
636            <img loading="lazy" src="website_assets/images/footer_logo.png?t=202604071046140" alt="Iowa Northland Regional Council of Government" class="footer-logo">
637        </a>    
638    
639    </div><!-- /.rz-element-wrapper -->
640
641
642
643
644
645
646
647<div class="rz-element-wrapper rz-button-wrapper has-edit-buttons move-to-offcanvas social_btn"
648 
649 >
650
651		<div class="center-top">
652				<div class="rz-btns-container">
653						
653<script>
654								RZ.module = 'generic';
655								RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/buttons-editform.jsp";
656								RZ.img = '<span class="rzBtn rzBtn-xs">Edit Buttons</span>';
657								RZ.caption = '';
658								RZ.set = 'pageid=433c3a66-82b3-426a-a326-4212ff219f0c';
659								RZ.options = '';
660								if (typeof RZaction != 'undefined') RZaction('editform');
661						</script>
661
662				</div>
663		</div>
664		<div class="rz-element rz-button-wrap d-flex flex-wrap" 
665				style="gap:30px;">
666
667<div class="d-flex align-items-stretch"  data-aos-duration="600">
668		<a href="https://www.facebook.com/INRCOGIA/" target="_blank"
669				class="rz-btn-element d-flex align-items-center justify-content-center btn btn-primary  no-rz-text-reveal-btn "
670				style="">
671
672				
673				
674						
675								<i class="fab fa-facebook-f rz-btn-icon flex-shrink-0"  aria-hidden="true"></i>
676						
677				
678
679				
680				
681
682
683				
684				
685		</a>
686</div>
687
688<div class="d-flex align-items-stretch"  data-aos-duration="600">
689		<a href="https://www.linkedin.com/company/inrcog" target="_blank"
690				class="rz-btn-element d-flex align-items-center justify-content-center btn btn-primary  no-rz-text-reveal-btn "
691				style="">
692
693				
694				
695						
696								<i class="bi bi-linkedin rz-btn-icon flex-shrink-0"  aria-hidden="true"></i>
697						
698				
699
700				
701				
702
703
704				
705				
706		</a>
707</div>
708
709		</div>
710</div>
711
712
713
714</div><div class="rz-column-block">
715
716
717 
718<div class="rz-element-wrapper rz-section-header-wrapper has-edit-buttons">
719		<div class="center-top">
720				<div class="rz-btns-container">
721						
721<script language="JavaScript" type="text/JavaScript">
722								RZ.module  = 'generic';
723								RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/section_header-editform.jsp";
724								RZ.img     = '<span class="rzBtn rzBtn-sm">Edit Section Header</span>';
725								RZ.caption = '';
726								RZ.set     = 'pageid=a879f99c-867e-49ed-95b7-fac04fb263f7';
727								RZ.options = '';
728								if (typeof RZaction != 'undefined') RZaction('editform');
729						</script>
729
730				</div>
731		</div>
732		<div class="rz-element rz-section-header-wrap align-items-start text-start d-flex align-items-center gap-2">
733				
734				<div class="rz-section-header d-flex align-items-start text-start align-items-center gap-2">
735						
736								
737								<div class="d-flex flex-column align-items-start text-start">
738								
739						
740								<h2 class="rz-section-header-title" style="color:#1E2450;font-size:min(20px, 7.2vw);">Contact</h2>
741						
742						
743					</div>
744					
745					
746				</div><!-- /.rz-section-header -->
747				
748		</div><!-- /.rz-section-header-wrap -->
749</div><!-- /.rz-element-wrapper -->
750
751
752
753
754    <div class="rz-element-wrapper rz-address-wrapper d-lg-flex align-items-center cursor-pointer move-to-offcanvas has-edit-buttons justify-content-start">
755        <div class="center-top">
756            <div class="rz-btns-container">
757                
757<script language="JavaScript" type="text/JavaScript">
758                    RZ.module = 'generic';
759                    RZ.nexturl = '/revize/plugins/zbuilder/v1/website/editforms/address-editform.jsp';
760                    RZ.img = '<span class="rzBtn rzBtn-xs">Edit address</span>';
761                    RZ.set = 'pageid=f28d8359-574e-4c15-a747-092f949acdb1';
762                    RZ.options = '';
763                    if (typeof RZaction != 'undefined') RZaction('editform');
764                </script>
764
765            </div>
766        </div>
767        
768            <div class="vr vr-s d-none"></div>
769            <a href="https://www.google.com/maps/search/?api=1&query=229+E.+Park+Ave.%26%238232%3BWaterloo%2C+Iowa+50703"
770               target="_self"
771               class="btn btn-link d-flex align-items-center text-start">
772                <i class="bi bi-geo-alt-fill me-2"></i>229 E. Park Ave.&#8232;Waterloo, Iowa 50703
773            </a>
774            <div class="vr vr-e d-none"></div>
775        
776    </div><!-- /.rz-element-wrapper -->
777
778
779
780
781
782
783
784<div class="rz-element-wrapper rz-button-wrapper has-edit-buttons move-to-offcanvas f_btn"
785 
786 >
787
788		<div class="center-top">
789				<div class="rz-btns-container">
790						
790<script>
791								RZ.module = 'generic';
792								RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/buttons-editform.jsp";
793								RZ.img = '<span class="rzBtn rzBtn-xs">Edit Buttons</span>';
794								RZ.caption = '';
795								RZ.set = 'pageid=8c3267c3-467d-4e67-86cd-d85b9681e542';
796								RZ.options = '';
797								if (typeof RZaction != 'undefined') RZaction('editform');
798						</script>
798
799				</div>
800		</div>
801		<div class="rz-element rz-button-wrap d-flex flex-wrap" 
802				style="gap:16px;">
803
804<div class="d-flex align-items-stretch"  data-aos-duration="600">
805		<a href="tel:(319) 235-0311" target="_blank"
806				class="rz-btn-element d-flex align-items-center justify-content-center btn btn-primary  no-rz-text-reveal-btn "
807				style="gap:8px;">
808
809				
810				
811						
812								<i class="material-icons|local_phone rz-btn-icon flex-shrink-0"  aria-hidden="true"></i>
813						
814				
815
816				
817				
818						<span class="overflow-hidden d-inline-block"
819									>
820								<span data-text="(319) 235-0311" class="rz-btn-text"
821											>
822										(319) 235-0311
823								</span>
824						</span>
825				
826
827
828				
829				
830		</a>
831</div>
832
833<div class="d-flex align-items-stretch"  data-aos-duration="600">
834		<a href="fax:(319) 235-2891" target="_blank"
835				class="rz-btn-element d-flex align-items-center justify-content-center btn btn-primary  no-rz-text-reveal-btn "
836				style="gap:8px;">
837
838				
839				
840						
841								<i class="material-icons|fax rz-btn-icon flex-shrink-0"  aria-hidden="true"></i>
842						
843				
844
845				
846				
847						<span class="overflow-hidden d-inline-block"
848									>
849								<span data-text="(319) 235-2891" class="rz-btn-text"
850											>
851										(319) 235-2891
852								</span>
853						</span>
854				
855
856
857				
858				
859		</a>
860</div>
861
862<div class="d-flex align-items-stretch"  data-aos-duration="600">
863		<a href="mailto:[email protected]" target="_blank"
864				class="rz-btn-element d-flex align-items-center justify-content-center btn btn-primary  no-rz-text-reveal-btn "
865				style="gap:8px;">
866
867				
868				
869						
870								<i class="bi bi-envelope-fill rz-btn-icon flex-shrink-0"  aria-hidden="true"></i>
871						
872				
873
874				
875				
876						<span class="overflow-hidden d-inline-block"
877									>
878								<span data-text="[email protected]" class="rz-btn-text"
879											>
880										[email protected]
881								</span>
882						</span>
883				
884
885
886				
887				
888		</a>
889</div>
890
891		</div>
892</div>
893
894
895
896</div><div class="rz-column-block">
897
898
899
900
901<div class="rz-element-wrapper rz-link-list-wrapper has-edit-buttons"
902	>
903	<div class="center-top">
904		<div class="rz-btns-container">
905			
905<script language="JavaScript" type="text/JavaScript">
906				RZ.module  = 'generic';
907				RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/link_list-editform.jsp";
908				RZ.img     = '<span class="rzBtn rzBtn-sm">Edit Links</span>';
909				RZ.caption = '';
910				RZ.set     = 'pageid=f12fe50a-7aa6-4e29-8a19-4ff43af297a1';
911				RZ.options = '';
912				if (typeof RZaction != 'undefined') RZaction('editform');
913			</script>
913
914		</div>
915	</div>
916	
917	
918	<div class="rz-module-header d-flex align-items-center gap-2">
919			
920			
921					<span class="rz-module-header-text">Quick Links</span>
922			
923			
924	</div>
925	
926
927	<div class="rz-element rz-link-list-wrap">
928		<div class="list-group list-group-flush" >
929			
930				<a href="services/economic_development/index.php" target="_self"
931					 class="list-group-item list-group-item-action bg-transparent d-flex align-items-center"
932					 style="gap:16px;">
933					
934					<span >Economic Development</span>
935					
936				</a>
937			
938				<a href="services/community_planning_development/housing/index.php" target="_self"
939					 class="list-group-item list-group-item-action bg-transparent d-flex align-items-center"
940					 style="gap:16px;">
941					
942					<span >Housing</span>
943					
944				</a>
945			
946				<a href="about_inrcog/job_opportunities.php" target="_self"
947					 class="list-group-item list-group-item-action bg-transparent d-flex align-items-center"
948					 style="gap:16px;">
949					
950					<span >Job Opportunites</span>
951					
952				</a>
953			
954				<a href="about_inrcog/title_vi.php" target="_self"
955					 class="list-group-item list-group-item-action bg-transparent d-flex align-items-center"
956					 style="gap:16px;">
957					
958					<span >Title VI</span>
959					
960				</a>
961			
962		</div><!-- /.list-group -->
963	</div><!-- /.rz-element -->
964</div><!-- /.rz-element-wrapper -->
965
966
967
968
969</div><div class="rz-column-block">
970
971
972
973
974<div class="rz-element-wrapper rz-link-list-wrapper has-edit-buttons"
975	>
976	<div class="center-top">
977		<div class="rz-btns-container">
978			
978<script language="JavaScript" type="text/JavaScript">
979				RZ.module  = 'generic';
980				RZ.nexturl = "/revize/plugins/zbuilder/v1/website/editforms/link_list-editform.jsp";
981				RZ.img     = '<span class="rzBtn rzBtn-sm">Edit Links</span>';
982				RZ.caption = '';
983				RZ.set     = 'pageid=075293ae-b418-448b-b74d-5a8a02d6d13d';
984				RZ.options = '';
985				if (typeof RZaction != 'undefined') RZaction('editform');
986			</script>
986
987		</div>
988	</div>
989	
990	
991	<div class="rz-module-header d-flex align-items-center gap-2">
992			
993			
994					<span class="rz-module-header-text">Quick Links</span>
995			
996			
997	</div>
998	
999
1000	<div class="rz-element rz-link-list-wrap">
1001		<div class="list-group list-group-flush" >
1002			
1003				<a href="https://inrcog.org/document_library/index.php" target="_blank"
1004					 class="list-group-item list-group-item-action bg-transparent d-flex align-items-center"
1005					 style="gap:16px;">
1006					
1007					<span >Document Library</span>
1008					
1009				</a>
1010			
1011				<a href="services/community_planning_development/emergency_preparedness.php" target="_self"
1012					 class="list-group-item list-group-item-action bg-transparent d-flex align-items-center"
1013					 style="gap:16px;">
1014					
1015					<span >Emergency Preparedness</span>
1016					
1017				</a>
1018			
1019				<a href="https://inrcog.org/grant_opportunities/index.php" target="_blank"
1020					 class="list-group-item list-group-item-action bg-transparent d-flex align-items-center"
1021					 style="gap:16px;">
1022					
1023					<span >Grants</span>
1024					
1025				</a>
1026			
1027				<a href="services/transportation_planning_/index.php" target="_self"
1028					 class="list-group-item list-group-item-action bg-transparent d-flex align-items-center"
1029					 style="gap:16px;">
1030					
1031					<span >Transportation Planning</span>
1032					
1033				</a>
1034			
1035		</div><!-- /.list-group -->
1036	</div><!-- /.rz-element -->
1037</div><!-- /.rz-element-wrapper -->
1038
1039
1040
1041
1042</div>
1043
1044
1045
1046</div><!-- /.rz-row-block -->
1047
1048
1049
1050
1051  </div><!-- /.rz-section-block -->
1052</div><!-- /.rz-section-block-wrap -->
1053
1054
1055	</div><!-- /.site-footer -->
1056</footer><!-- /.site-footer-wrap -->
1057<div class="offcanvas-lg offcanvas-bottom"
1058	tabindex="-1"
1059	id="offcanvasHeaderItems">
1060	<div class="offcanvas-header">
1061		<button type="button"
1062			class="btn-close"
1063			data-bs-dismiss="offcanvas"
1064			aria-label="Close"
1065			data-bs-target="#offcanvasHeaderItems"></button>
1066	</div>
1067	<div class="offcanvas-body offcanvasHeaderItems-offcanvas-body pt-0"></div>
1068</div><!-- #offcanvasHeaderItems --> 
1069
1070
1071<div class="modal modal-lg fade" id="searchModal" tabindex="-1" role="dialog" style="--bs-modal-width:640px;">
1072	<div class="modal-dialog modal-dialog-centered" role="Site Search">
1073		<div class="modal-content px-0">
1074			<div class="modal-header border-0 pb-0 px-lg-3 pt-4">
1075				<h2 class="h5">Search Iowa Northland Regional Council of Government</h2>
1076				<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
1077			</div>
1078			<div class="modal-body p-0">
1079				<form class="form-inline overflow-hidden" method="GET" action="search.php" role="search" aria-label="sitewide">
1080					<div class="d-flex relative bg-white p-2 px-3">
1081						<div class="position-relative w-100">
1082							<div class="form-floating w-100">
1083								<input id="autocompleteme" autocomplete="off" class="form-control form-control-lg m-0 w-100" name="q" type="search" placeholder="Search...">
1084								<label for="autocompleteme" class="bg-transparent">Search...</label>
1085							</div>
1086							<div id="autocomplete-spinner" class="spinner-border text-success position-absolute" role="status"
1087								style="top: 50%; right: 4rem; width: 1rem; height: 1rem; margin-top: -9px; display: none; z-index: 10;--bs-spinner-border-width:0.15em" >
1088								<span class="visually-hidden">Loading...</span>
1089							</div>
1090						</div>
1091
1092						<button class="btn btn-link right-center d-flex gap-3 p-0 pe-4 bg-transparent me-1 ps-0 outline-none lh-1" aria-label="Search"><span class="vr"></span>
1093							<span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class="insta-search-icon">
1094									<path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path>
1095								</svg><span class="sr-only">Search</span></span>
1096						</button>
1097					</div>
1098				</form>
1099				<div class="all-search-buttons-wrap w-100 lh-1 position-relative" style="display:none">
1100					<div class="all-search-buttons py-3 p-3 d-md-flex flex-column flex-md-row gap-2 border-top">
1101						<div class="searchPopover p-3 bg-white d-none d-xl-block popover">
1102							<div class="searchPopover-arrow"></div><span class="searchPopover-text">Try searching... </span>
1103						</div>
1104						<a href="" class="all-site-search-btn align-content-center btn btn-primary icon-link icon-link-hover w-100 p-2 mb-2 mb-md-0"><span class="d-lg-none">Search</span> <span>site for</span> <span class="search-query-text text-decoration-underline"></span> <i class="bi bi-arrow-right"></i></a>
1105						<a href="" class="all-doc-search-btn align-content-center btn btn-primary icon-link icon-link-hover w-100 p-2"><span class="d-lg-none">Search</span> <span>documents for</span> <span class="search-query-text text-decoration-underline"></span> <i class="bi bi-arrow-right"></i></a>
1106					</div><!-- /.search-buttons -->
1107				</div><!-- /.all-search-buttons-wrap -->
1108									<div class="popular-pages-search p-2"></div>
1109							</div><!-- /.modal-body -->
1110		</div><!-- /.modal-content -->
1111	</div><!-- /.modal-dialog -->
1112</div><!-- /.modal -->
1113
1114
1115
1116
1117<link href="https://cdn.jsdelivr.net/gh/lipis/[email protected]/css/flag-icons.min.css" rel="stylesheet" type="text/css" />		
1118<div class="rz-element-wrapper-combo position-fixed end-0 top-50 d-flex flex-column" role="complementary" aria-label="Utility toolbar" style="z-index:22">
1119	<!-- Accessibility Button -->
1120	<div class="rz-element-wrapper rz-ada-floaty-btn-element-combo rz-ada-btn-element d-none d-lg-flex position-relative">
1121		<button
1122			type="button"
1123			class="d-flex align-items-center lh-1 w-100 d-flex align-items-center justify-content-center"
1124			aria-label="Open accessibility options"
1125			title="Accessibility features">
1126			<i class="bi bi-universal-access" aria-hidden="true"></i>
1127			<span class="visually-hidden">Accessibility features</span>
1128			<span class="ada-text">Accessibility</span>
1129		</button>
1130	</div><!-- /.rz-element-wrapper -->
1131	
1132	<!-- Share Button -->
1133	<div class="rz-element-wrapper rz-share-floaty-btn-element-combo d-none d-lg-flex">
1134		<button
1135			type="button"
1136			class="d-flex align-items-center lh-1 w-100 d-flex align-items-center justify-content-center"
1137			data-bs-toggle="modal"
1138			data-bs-target="#shareModal"
1139			aria-label="Share this page"
1140			title="Share this page">
1141			<i class="bi bi-share-fill" aria-hidden="true"></i>
1142			<span class="visually-hidden">Share this page</span>
1143			<span class="share-text">Share</span>
1144		</button>
1145	</div><!-- /.rz-element-wrapper -->
1146	
1147	<!-- Translate Dropdown -->
1148	<div class="rz-element-wrapper header-translate-wrap-combo relative d-none d-lg-flex align-items-stretch gap-0">
1149		<button class="btn text-start translate-button btn btn-link relative px-3 d-flex align-items-center" type="button" aria-expanded="false" data-bs-toggle="modal" data-bs-target="#translateModal">
1150			<div class="fi fi-us selected-flag"></div>
1151			<i class="bi bi-translate me-2"></i>
1152			<span class="visually-hidden">Translate</span>
1153			<span class="translate-text">Translate</span>
1154		</button>
1155		<button class="btn text-start translate-reset px-2" translate="no">
1156			<i class="fa-solid fa-power-off" aria-hidden="true"></i>
1157			<span class="visually-hidden">Reset Translation</span>
1158		</button>
1159	</div>
1160</div><!-- /.rz-element-wrapper-combo -->
1161
1162
1163<div class="modal fade confirmation-popup" style="--bs-modal-width:420px;z-index:1100" tabindex="-1" data-bs-backdrop="static">
1164	<div class="modal-dialog modal-dialog-centered">
1165		<div class="modal-content">
1166			<div class="modal-body p-4 text-center">
1167				<div class="d-flex justify-content-center">
1168					<i class="d-flex lh-1 fs-3 rounded-circle bg-danger-subtle p-4 border-info text-danger-emphasis bi bi-exclamation-octagon"></i>
1169				</div>
1170				<div class="d-flex"></div>
1171				<p class="m-0 mt-3 px-sm-"><span class="fw-bold d-block fs-4 mb-2">Important</span> You are about to leave <strong>Iowa Northland Regional Council of Government</strong> and visit an external site, do you wish to continue?</p>
1172			</div>
1173			<div class="modal-footer flex-nowrap p-0">
1174				<button id="confirmLeave" type="button" class="btn btn-lg btn-link text-success fs-6 text-decoration-none col-6 py-3 m-0 border-end" style="border-radius:0 0 0 var(--rz-modal-border-radius)"><strong>Yes, leave <i class="bi bi-box-arrow-up-right ms-2 fs-5 lh-1"></i></strong></button>
1175				<button type="button" class="btn btn-lg btn-link text-danger fw-bold fs-6 text-decoration-none col-6 py-3 m-0" data-bs-dismiss="modal" id="cancelLeave" style="border-radius:0 0 var(--rz-modal-border-radius)">No, Stay </button>
1176			</div>
1177		</div>
1178	</div>
1179</div>
1180
1181<script>
1182$(document).ready(function () {
1183	let externalLink = ''; // Store the external link URL
1184
1185	$('a')
1186		.not('[href^="javascript:"]')
1187		.not('[href^="mailto:"]')
1188		.not('[href^="tel:"]')
1189		.not('[href="http://cms4.revize.com/revize/supportrevize/revize_faq.php"]')
1190		.not('[href="https://intercom.help/revizefaqs/en/"]')
1191		.not('.rz-brand-footer a')
1192		.not('#revize-login')
1193		.not('.copy-live-link')
1194		.on('click', function (event) {
1195			// Ignore links with .rzBtn children
1196			if ($(this).find('span.rzBtn').length === 0) {
1197				const linkUrl = $(this).prop('href');
1198				const linkHost = new URL(linkUrl).hostname;
1199				const currentHost = window.location.hostname;
1200
1201				// Treat current domain and all revize.com domains/subdomains as internal
1202				const isRevizeDomain =
1203					linkHost === 'revize.com' ||
1204					linkHost.endsWith('.revize.com');
1205
1206				// If different domain and NOT a Revize domain, show confirmation popup
1207				if (linkHost !== currentHost && !isRevizeDomain) {
1208					event.preventDefault();
1209					externalLink = linkUrl;
1210					$('.confirmation-popup').addClass('show').show();
1211				}
1212			}
1213		});
1214
1215	// Confirm external navigation
1216	$('#confirmLeave').on('click', function () {
1217		if (externalLink) {
1218			window.open(externalLink, '_blank');
1219		}
1220
1221		$('.confirmation-popup').removeClass('show').hide();
1222		externalLink = '';
1223	});
1224
1225	// Cancel external navigation
1226	$('#cancelLeave').on('click', function () {
1227		$('.confirmation-popup').removeClass('show').hide();
1228		externalLink = '';
1229	});
1230});
1231</script>
1231
1232	<div class="modal fade"
1233		id="event-modal"
1234		tabindex="-1"
1235		role="dialog"
1236		aria-labelledby="modal-event-title"
1237		aria-hidden="true">
1238		<div id="event-modal-dialog"
1239			class="modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable"
1240			role="document"
1241			style="--bs-modal-width:1000px">
1242			<div class="modal-content">
1243
1244				<div class="modal-header align-items-center">
1245					<div>
1246						<h2 class="h4 modal-subtitle m-0 fs-4 fw-bold">Event Details</h2>
1247					</div>
1248					<button type="button"
1249						class="btn-close mt-0"
1250						data-bs-dismiss="modal"
1251						aria-label="Close"></button>
1252				</div>
1253
1254				<div class="modal-body p-0"
1255					id="modal-event-body">
1256					<div class="center-center"><div class="rz-btns-container"></div></div>
1257					<div class="row row-cols-lg-2 g-0 mx-0">
1258					<div class="event-modal-header"
1259						style="min-height:200px"></div><!-- /.event-modal-header for image -->
1260						<div class="event-details d-flex flex-column has-edit-buttons">
1261							<div class="d-flex align-items-start justify-content-between bg-light p-4">
1262								<div class="w-100">
1263									<div class="d-flex align-items-center gap-3">
1264										<div class="event-border-color"
1265											style="margin-top:3px;width:12px;height:26px;border-radius:100px;align-self:start;"></div>
1266										<div class="w-100">
1267											<div class="d-flex justify-content-between align-items-center">
1268												<h3 class="fs-4 fw-bold" id="modal-event-title">City Council Meeting </h3>
1269												<a href="calendar"
1270													class="flex-shrink-0 btn btn-light bg-white border-0 btn-sm"
1271													data-bs-toggle="tooltip"
1272													data-bs-placement="left"
1273													data-bs-title="view Calendar"
1274													data-bs-offset="0,20">
1275													<i class="bi bi-box-arrow-up-right"></i>
1276													<span class="sr-only">View Calendar</span>
1277												</a>
1278											</div>
1279											
1280											<p class="text-muted row row-cols-1 g-2 my-0 p-0 fw-normal lh-sm small">
1281												<span class="modal-event-date w-max-content"><i class="bi bi-calendar4-event me-2"></i></span>
1282												<span class="modal-event-time"><i class="bi bi-clock me-2"></i></span>
1283												<span class="modal-location w-100"><i class="bi bi-geo-alt me-2"></i></span>
1284											</p>
1285										</div>
1286									</div>
1287								</div>
1288								<button type="button"
1289									class="btn-close bg-white d-none"
1290									data-bs-dismiss="modal"
1291									aria-label="Close"></button>
1292							</div><!-- /.d-flex -->
1293
1294							<div class="d-flex flex-column p-4 my-auto row-gap-4">
1295								<div class="modal-event-description small">
1296									<h4 class="h6 fw-bold">Description</h4>
1297									<div id="modal-event-subtitle"></div>
1298									<div id="modal-event-description">
1299									</div>
1300								</div>
1301								<div style="width: 100%" id="modal-event-location" class="ratio ratio-16x9"></div>
1302							</div><!-- /.d-flex -->
1303							
1304							<div class="modal-action-buttons d-flex gap-2 mt-auto mb-4 px-4">
1305							
1306								<a href="#"
1307									class="btn btn-primary border-0" id="modal-event-readmore">Read More</a>
1308							</div><!-- /.modal-action-buttons -->
1309
1310						</div><!-- /.event-details -->
1311					</div><!-- /.row -->
1312				</div><!-- /.modal-body -->
1313			</div><!-- /.modal-content -->
1314		</div>
1315	</div>
1316	
1317	<style>
1318		#modal-event-duration{display:none}
1319		.rz-business-inner-map{border:1px solid var(--bs-border-color)!important;border-radius:var(--bs-border-radius)}
1320	</style>	
1321<div class="left-bottom position-fixed mb-2 ms-2" id="eNotifyBtn">
1322	<button type="button" class="btn bg-success-subtle border-0 p-3 fs-4 lh-1 rounded" data-bs-toggle="modal" data-bs-target="#eNotifyModal">
1323		<span class="position-absolute top-0 start-100 translate-middle badge rounded-circle bg-danger p-2"><span class="visually-hidden">E notify</span></span>
1324		<i class="bi bi-bell text-success-emphasis"></i>
1325	</button>
1326</div>
1327<div class="modal fade e-notify-popup" style="--bs-modal-width:560px;z-index:1100" id="eNotifyModal" tabindex="-1" aria-hidden="true">
1328	<div class="modal-dialog modal-dialog-centered">
1329		<div class="modal-content">
1330			<div class="modal-body p-lg-4">
1331				<button type="button" class="btn-close top-0 end-0 position-absolute m-3 z-5" data-bs-dismiss="modal" aria-label="Close"></button>
1332				<div class="d-flex">
1333					<i class="d-flex lh-1 fs-3 rounded-circle bg-success-subtle p-4 border-info text-success-emphasis bi bi-mailbox-flag"></i>
1334				</div>
1335				<div class="d-flex"></div>
1336				<p class="my-3"><span class="fw-bold d-block fs-5">Email notification</span>
1336 Subscribe to receive updates whenever this page changes.</p>
1337				<form action="./enotify/index.php" method="get">
1338					<label class="form-label w-100 text-start" for="eNotifyEmail">Email</label>
1339					<div class="input-group mb-0">
1340						<input type="email" class="form-control" placeholder="Your email" aria-label="Recipient’s email" name="email" aria-describedby="button-addon" id="eNotifyEmail">
1341						<input type="hidden" name="successMessage" value="3">
1342						<button class="btn btn-success" type="submit" id="button-addon">Subscribe</button>
1343					</div>
1344					<div class="form-text" id="basic-addon4">You may unsubscribe at anytime</div>
1345<div class="d-none">
1346					<div class="text-center position-relative"><span class="mb-white rounded lh-1 p-3 rounded d-inline-block z-2 position-relative bg-white">or</span><div class="position-absolute top-50 start-0 border-top z-1 w-100"></div>
1347					</div>
1348						<label class="form-label w-100 text-start" for="eNotifyPhone">Phone number</label>
1349					<div class="input-group mb-0">
1350						<input type="tel" class="form-control" placeholder="123-123-45679" aria-label="Recipient’s phone number" aria-describedby="button-addon" id="eNotifyPhone">
1351						<button class="btn btn-success" type="button" id="button-addon-2">Subscribe</button>
1352					</div>
1353					<div class="form-text">Messaging rates may apply</div>
1354</div>
1355				</form>
1356			</div>
1357			<div class="modal-footer px-lg-4">
1358				<button type="button" class="btn btn-dark" data-bs-dismiss="modal" id="canceleNotifyModal">Close</button>
1359			</div>
1360		</div>
1361	</div>
1362</div>
1363<script>
1364document.addEventListener('submit', function (e) {
1365	const form = e.target;
1366	if (!form.matches('#eNotifyModal form')) return;
1367
1368	e.preventDefault();
1369
1370	const email = form.querySelector('[name="email"]').value.trim();
1371	if (!email) return;
1372
1373	window.location.href = './enotify/index.php?email=' + encodeURIComponent(email) + '&successMessage=3#post';
1374});
1375</script>
1375	
1376<div id="share-modal-section">
1377	<div class="modal fade" id="shareModal" tabindex="-1" role="dialog" aria-labelledby="shareModal">
1378		<div class="modal-dialog modal-dialog-centered" role="document">
1379			<div class="modal-content">
1380				<div class="modal-header border-0 bg-transparent pb-0 px-lg-4 pt-4">
1381					<div class="w-100 text-center">
1382						<span class="d-block h5 mb-1 w-100">Share this page</span>
1383						<p class="mb-1">On your favorite social media platform</p>
1384					</div>
1385					<button type="button" class="btn-close position-absolute end-0 top-0 m-3" data-bs-dismiss="modal" aria-label="Close"></button>
1386				</div>
1387				<div class="modal-body p-lg-4">
1388					<div class="share-btns row m-0 row-cols-md-3 gap-2">
1389						<a href="#" class="btn btn-primary btn-facebook" target="_blank">
1390							<i class="fa-brands fs-5 fa-square-facebook"></i> Facebook
1391						</a>
1392						
1393						<a href="#" class="btn btn-primary btn-twitter" target="_blank">
1394							<i class="fa-brands fs-5 fa-x-twitter"></i> x(twitter)
1395						</a>
1396						
1397						<a href="#" class="btn btn-primary btn-linkedin" target="_blank">
1398							<i class="fa-brands fs-5 fa-linkedin"></i> Linkedin
1399						</a>
1400						
1401						<a href="#" class="btn btn-primary btn-reddit" target="_blank">
1402							<i class="fa-brands fs-5 fa-square-reddit"></i> reddit
1403						</a>						
1404						<div class="w-100 p-0 my-2"><div class="d-flex align-items-center"><div class="border-top flex-fill"></div><span class="bg-body px-3">Or</span><div class="border-top flex-fill"></div></div></div>
1405						
1406						<a href="" class="btn btn-outline-dark w-100 border emailpage"><i class="fa-regular fs-5 fa-envelope"></i> Email Page Link</a>
1407
1408						<a href="" class="btn btn-outline-dark w-100 border share-copy-link"><i class="fa-regular fs-5 fa-copy"></i> Copy Current URL</a>
1409												
1410					</div><!-- /.share-btns -->
1411										
1412					 
1412<script>
1413						 $(document).ready(function () {
1414							 // Build social share URLs from current page
1415							 var pageUrl      = window.location.href;
1416							 var encodedUrl   = encodeURIComponent(pageUrl);
1417					 
1418							 $('.btn-facebook').attr(
1419								 'href',
1420								 'https://www.facebook.com/sharer/sharer.php?u=' + encodedUrl
1421							 );
1422					 
1423							 $('.btn-twitter').attr(
1424								 'href',
1425								 'https://twitter.com/intent/tweet?url=' + encodedUrl
1426							 );
1427					 
1428							 $('.btn-linkedin').attr(
1429								 'href',
1430								 'https://www.linkedin.com/sharing/share-offsite/?url=' + encodedUrl
1431							 );
1432					 
1433							 $('.btn-reddit').attr(
1434								 'href',
1435								 'https://www.reddit.com/submit?url=' + encodedUrl
1436							 );
1437					 
1438							 // Copy to clipboard
1439							 $('.share-copy-link').on('click', function (e) {
1440								 e.preventDefault();
1441					 
1442								 var urlToCopy = $(this).attr('href') || $(this).data('url') || window.location.href;
1443					 
1444								 if (navigator.clipboard && navigator.clipboard.writeText) {
1445									 navigator.clipboard
1446										 .writeText(urlToCopy)
1447										 .then(function () {
1448											 new bootstrap.Toast(document.getElementById('coppiedToast')).show();
1449										 })
1450										 .catch(function () {
1451											 fallbackCopy(urlToCopy);
1452										 });
1453								 } else {
1454									 fallbackCopy(urlToCopy);
1455								 }
1456							 });
1457					 
1458							 function fallbackCopy(text) {
1459								 var $tempInput = $('<input style="position:absolute;left:-9999px;">');
1460								 $('body').append($tempInput);
1461								 $tempInput.val(text).select();
1462								 document.execCommand('copy');
1463								 $tempInput.remove();
1464								 new bootstrap.Toast(document.getElementById('coppiedToast')).show();
1465							 }
1466					 
1467							 // Email page link
1468							 $('.emailpage').on('click', function (e) {
1469								 e.preventDefault();
1470					 
1471								 var pageUrl = window.location.href;
1472								 var subject = encodeURIComponent('Check out this page');
1473								 var body = encodeURIComponent('Hey,\n\nI thought you might find this interesting:\n' + pageUrl);
1474								 window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
1475							 });
1476						 });
1477					 </script>
1477
1478					
1479					<div class="toast-container position-fixed top-0 start-50 translate-middle-x">
1480						<div id="coppiedToast" class="toast align-items-center align-items-center text-bg-success border-0 border-0 fade" role="alert" aria-live="assertive" aria-atomic="true">
1481							<div class="d-flex">
1482								<div class="toast-body">
1483									URL copied to clipboard!
1484								</div>
1485								<button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
1486							</div>
1487						</div>
1488					</div>
1489					
1490				</div><!-- /.modal-body -->
1491			</div><!-- /.modal-content -->
1492		</div><!-- /.modal-dialog -->
1493	</div><!-- /.modal -->
1494</div><!-- /#modal-section --><link href="https://cdn.jsdelivr.net/gh/lipis/[email protected]/css/flag-icons.min.css" rel="stylesheet" type="text/css" />
1495<div class="modal fade" id="translateModal" tabindex="-1" aria-hidden="true">
1496	<div class="modal-dialog modal-sm modal-dialog-centered modal-dialog-scrollable">
1497		<div class="modal-content">
1498		<form role="search" aria-label="Search Languages" class="sticky-top bg-white m-0 align-self-center position-relative translate-search w-100 p-3 border-bottom">
1499			<input type="search" placeholder="Search languages..." autocomplete="off" class="form-control" id="translatesearch-input">
1500			<button aria-label="Search" tabindex="-1" class="btn btn-link position-absolute top-50 end-0 translate-middle-y gap-3 ps-0 pe-3 me-3 me-1 lh-1 d-flex align-items-center">
1501			<label for="translatesearch-input"><span class="visually-hidden">Search</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class="DocSearch-Search-Icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg></label>
1502			</button>
1503		</form>
1504			<div class="modal-body" style="max-height:300px">
1505				<div class="lang-no-results text-center d-none text-muted small">No matching languages.</div>
1506				<div class="translation-links row row-cols-lg-1">
1507					<div>
1508						<button class="btn btn-link text-body p-2 text-start w-100 English" data-lang="English" translate="no">
1509						<span class="fi fi-us me-2"></span><strong>English</strong>
1510						</button>
1511					</div>
1512					<div>
1513						<button class="btn btn-link text-body p-2 text-start w-100 Afrikaans" data-lang="Afrikaans">
1514						<span class="fi fi-za me-2"></span>Afrikaans
1515						</button>
1516					</div>
1517					<div>
1518						<button class="btn btn-link text-body p-2 text-start w-100 Albanian" data-lang="Albanian">
1519						<span class="fi fi-al me-2"></span>Albanian
1520						</button>
1521					</div>
1522					<div>
1523						<button class="btn btn-link text-body p-2 text-start w-100 Arabic" data-lang="Arabic">
1524						<span class="fi fi-sa me-2"></span>Arabic
1525						</button>
1526					</div>
1527					<div>
1528						<button class="btn btn-link text-body p-2 text-start w-100 Armenian" data-lang="Armenian">
1529						<span class="fi fi-am me-2"></span>Armenian
1530						</button>
1531					</div>
1532					<div>
1533						<button class="btn btn-link text-body p-2 text-start w-100 Azerbaijani" data-lang="Azerbaijani">
1534						<span class="fi fi-az me-2"></span>Azerbaijani
1535						</button>
1536					</div>
1537					<div>
1538						<button class="btn btn-link text-body p-2 text-start w-100 Basque" data-lang="Basque">
1539						<span class="fi fi-es me-2"></span>Basque
1540						</button>
1541					</div>
1542					<div>
1543						<button class="btn btn-link text-body p-2 text-start w-100 Belarusian" data-lang="Belarusian">
1544						<span class="fi fi-by me-2"></span>Belarusian
1545						</button>
1546					</div>
1547					<div>
1548						<button class="btn btn-link text-body p-2 text-start w-100 Bengali" data-lang="Bengali">
1549						<span class="fi fi-bd me-2"></span>Bengali
1550						</button>
1551					</div>
1552					<div>
1553						<button class="btn btn-link text-body p-2 text-start w-100 Bosnian" data-lang="Bosnian">
1554						<span class="fi fi-ba me-2"></span>Bosnian
1555						</button>
1556					</div>
1557					<div>
1558						<button class="btn btn-link text-body p-2 text-start w-100 Bulgarian" data-lang="Bulgarian">
1559						<span class="fi fi-bg me-2"></span>Bulgarian
1560						</button>
1561					</div>
1562					<div>
1563						<button class="btn btn-link text-body p-2 text-start w-100 Catalan" data-lang="Catalan">
1564						<span class="fi fi-ad me-2"></span>Catalan
1565						</button>
1566					</div>
1567					<div>
1568						<button class="btn btn-link text-body p-2 text-start w-100 Cebuano" data-lang="Cebuano">
1569						<span class="fi fi-ph me-2"></span>Cebuano
1570						</button>
1571					</div>
1572					<div>
1573						<button class="btn btn-link text-body p-2 text-start w-100 Chinese" data-lang="Chinese (Simplified)">
1574						<span class="fi fi-cn me-2"></span>Chinese (Simplified)
1575						</button>
1576					</div>
1577					<div>
1578						<button class="btn btn-link text-body p-2 text-start w-100 Chinese" data-lang="Chinese (Traditional)">
1579						<span class="fi fi-tw me-2"></span>Chinese (Traditional)
1580						</button>
1581					</div>
1582					<div>
1583						<button class="btn btn-link text-body p-2 text-start w-100 Croatian" data-lang="Croatian">
1584						<span class="fi fi-hr me-2"></span>Croatian
1585						</button>
1586					</div>
1587					<div>
1588						<button class="btn btn-link text-body p-2 text-start w-100 Czech" data-lang="Czech">
1589						<span class="fi fi-cz me-2"></span>Czech
1590						</button>
1591					</div>
1592					<div>
1593						<button class="btn btn-link text-body p-2 text-start w-100 Danish" data-lang="Danish">
1594						<span class="fi fi-dk me-2"></span>Danish
1595						</button>
1596					</div>
1597					<div>
1598						<button class="btn btn-link text-body p-2 text-start w-100 Dutch" data-lang="Dutch">
1599						<span class="fi fi-nl me-2"></span>Dutch
1600						</button>
1601					</div>
1602					<div>
1603						<button class="btn btn-link text-body p-2 text-start w-100 Esperanto" data-lang="Esperanto">
1604						<span class="fi fi-un me-2"></span>Esperanto
1605						</button>
1606					</div>
1607					<div>
1608						<button class="btn btn-link text-body p-2 text-start w-100 
1608Estonian" data-lang="Estonian">
1609						<span class="fi fi-ee me-2"></span>Estonian
1610						</button>
1611					</div>
1612					<div>
1613						<button class="btn btn-link text-body p-2 text-start w-100 Filipino" data-lang="Filipino">
1614						<span class="fi fi-ph me-2"></span>Filipino
1615						</button>
1616					</div>
1617					<div>
1618						<button class="btn btn-link text-body p-2 text-start w-100 Finnish" data-lang="Finnish">
1619						<span class="fi fi-fi me-2"></span>Finnish
1620						</button>
1621					</div>
1622					<div>
1623						<button class="btn btn-link text-body p-2 text-start w-100 French" data-lang="French">
1624						<span class="fi fi-fr me-2"></span>French
1625						</button>
1626					</div>
1627					<div>
1628						<button class="btn btn-link text-body p-2 text-start w-100 Galician" data-lang="Galician">
1629						<span class="fi fi-es me-2"></span>Galician
1630						</button>
1631					</div>
1632					<div>
1633						<button class="btn btn-link text-body p-2 text-start w-100 Georgian" data-lang="Georgian">
1634						<span class="fi fi-ge me-2"></span>Georgian
1635						</button>
1636					</div>
1637					<div>
1638						<button class="btn btn-link text-body p-2 text-start w-100 German" data-lang="German">
1639						<span class="fi fi-de me-2"></span>German
1640						</button>
1641					</div>
1642					<div>
1643						<button class="btn btn-link text-body p-2 text-start w-100 Greek" data-lang="Greek">
1644						<span class="fi fi-gr me-2"></span>Greek
1645						</button>
1646					</div>
1647					<div>
1648						<button class="btn btn-link text-body p-2 text-start w-100 Gujarati" data-lang="Gujarati">
1649						<span class="fi fi-in me-2"></span>Gujarati
1650						</button>
1651					</div>
1652					<div>
1653						<button class="btn btn-link text-body p-2 text-start w-100 Haitian" data-lang="Haitian Creole">
1654						<span class="fi fi-ht me-2"></span>Haitian Creole
1655						</button>
1656					</div>
1657					<div>
1658						<button class="btn btn-link text-body p-2 text-start w-100 Hausa" data-lang="Hausa">
1659						<span class="fi fi-ng me-2"></span>Hausa
1660						</button>
1661					</div>
1662					<div>
1663						<button class="btn btn-link text-body p-2 text-start w-100 Hebrew" data-lang="Hebrew">
1664						<span class="fi fi-il me-2"></span>Hebrew
1665						</button>
1666					</div>
1667					<div>
1668						<button class="btn btn-link text-body p-2 text-start w-100 Hindi" data-lang="Hindi">
1669						<span class="fi fi-in me-2"></span>Hindi
1670						</button>
1671					</div>
1672					<div>
1673						<button class="btn btn-link text-body p-2 text-start w-100 Hmong" data-lang="Hmong">
1674						<span class="fi fi-cn me-2"></span>Hmong
1675						</button>
1676					</div>
1677					<div>
1678						<button class="btn btn-link text-body p-2 text-start w-100 Hungarian" data-lang="Hungarian">
1679						<span class="fi fi-hu me-2"></span>Hungarian
1680						</button>
1681					</div>
1682					<div>
1683						<button class="btn btn-link text-body p-2 text-start w-100 Icelandic" data-lang="Icelandic">
1684						<span class="fi fi-is me-2"></span>Icelandic
1685						</button>
1686					</div>
1687					<div>
1688						<button class="btn btn-link text-body p-2 text-start w-100 Igbo" data-lang="Igbo">
1689						<span class="fi fi-ng me-2"></span>Igbo
1690						</button>
1691					</div>
1692					<div>
1693						<button class="btn btn-link text-body p-2 text-start w-100 Indonesian" data-lang="Indonesian">
1694						<span class="fi fi-id me-2"></span>Indonesian
1695						</button>
1696					</div>
1697					<div>
1698						<button class="btn btn-link text-body p-2 text-start w-100 Irish" data-lang="Irish">
1699						<span class="fi fi-ie me-2"></span>Irish
1700						</button>
1701					</div>
1702					<div>
1703						<button class="btn btn-link text-body p-2 text-start w-100 Italian" data-lang="Italian">
1704						<span class="fi fi-it me-2"></span>Italian
1705						</button>
1706					</div>
1707					<div>
1708						<button class="btn btn-link text-body p-2 text-start w-100 Japanese" data-lang="Japanese">
1709						<span class="fi fi-jp me-2"></span>Japanese
1710						</button>
1711					</div>
1712					<div>
1713						<button class="btn btn-link text-body p-2 text-start w-100 Javanese" data-lang="Javanese">
1714						<span class="fi fi-id me-2"></span>Javanese
1715						</button>
1716					</div>
1717					<div>
1718						<button class="btn btn-link text-body p-2 text-start w-100 K
1718annada" data-lang="Kannada">
1719						<span class="fi fi-in me-2"></span>Kannada
1720						</button>
1721					</div>
1722					<div>
1723						<button class="btn btn-link text-body p-2 text-start w-100 Khmer" data-lang="Khmer">
1724						<span class="fi fi-kh me-2"></span>Khmer
1725						</button>
1726					</div>
1727					<div>
1728						<button class="btn btn-link text-body p-2 text-start w-100 Korean" data-lang="Korean">
1729						<span class="fi fi-kr me-2"></span>Korean
1730						</button>
1731					</div>
1732					<div>
1733						<button class="btn btn-link text-body p-2 text-start w-100 Lao" data-lang="Lao">
1734						<span class="fi fi-la me-2"></span>Lao
1735						</button>
1736					</div>
1737					<div>
1738						<button class="btn btn-link text-body p-2 text-start w-100 Latin" data-lang="Latin">
1739						<span class="fi fi-va me-2"></span>Latin
1740						</button>
1741					</div>
1742					<div>
1743						<button class="btn btn-link text-body p-2 text-start w-100 Latvian" data-lang="Latvian">
1744						<span class="fi fi-lv me-2"></span>Latvian
1745						</button>
1746					</div>
1747					<div>
1748						<button class="btn btn-link text-body p-2 text-start w-100 Lithuanian" data-lang="Lithuanian">
1749						<span class="fi fi-lt me-2"></span>Lithuanian
1750						</button>
1751					</div>
1752					<div>
1753						<button class="btn btn-link text-body p-2 text-start w-100 Macedonian" data-lang="Macedonian">
1754						<span class="fi fi-mk me-2"></span>Macedonian
1755						</button>
1756					</div>
1757					<div>
1758						<button class="btn btn-link text-body p-2 text-start w-100 Malay" data-lang="Malay">
1759						<span class="fi fi-my me-2"></span>Malay
1760						</button>
1761					</div>
1762					<div>
1763						<button class="btn btn-link text-body p-2 text-start w-100 Maltese" data-lang="Maltese">
1764						<span class="fi fi-mt me-2"></span>Maltese
1765						</button>
1766					</div>
1767					<div>
1768						<button class="btn btn-link text-body p-2 text-start w-100 Maori" data-lang="Maori">
1769						<span class="fi fi-nz me-2"></span>Maori
1770						</button>
1771					</div>
1772					<div>
1773						<button class="btn btn-link text-body p-2 text-start w-100 Marathi" data-lang="Marathi">
1774						<span class="fi fi-in me-2"></span>Marathi
1775						</button>
1776					</div>
1777					<div>
1778						<button class="btn btn-link text-body p-2 text-start w-100 Mongolian" data-lang="Mongolian">
1779						<span class="fi fi-mn me-2"></span>Mongolian
1780						</button>
1781					</div>
1782					<div>
1783						<button class="btn btn-link text-body p-2 text-start w-100 Nepali" data-lang="Nepali">
1784						<span class="fi fi-np me-2"></span>Nepali
1785						</button>
1786					</div>
1787					<div>
1788						<button class="btn btn-link text-body p-2 text-start w-100 Norwegian" data-lang="Norwegian">
1789						<span class="fi fi-no me-2"></span>Norwegian
1790						</button>
1791					</div>
1792					<div>
1793						<button class="btn btn-link text-body p-2 text-start w-100 Persian" data-lang="Persian">
1794						<span class="fi fi-ir me-2"></span>Persian
1795						</button>
1796					</div>
1797					<div>
1798						<button class="btn btn-link text-body p-2 text-start w-100 Polish" data-lang="Polish">
1799						<span class="fi fi-pl me-2"></span>Polish
1800						</button>
1801					</div>
1802					<div>
1803						<button class="btn btn-link text-body p-2 text-start w-100 Portuguese" data-lang="Portuguese">
1804						<span class="fi fi-pt me-2"></span>Portuguese
1805						</button>
1806					</div>
1807					<div>
1808						<button class="btn btn-link text-body p-2 text-start w-100 Punjabi" data-lang="Punjabi">
1809						<span class="fi fi-in me-2"></span>Punjabi
1810						</button>
1811					</div>
1812					<div>
1813						<button class="btn btn-link text-body p-2 text-start w-100 Romanian" data-lang="Romanian">
1814						<span class="fi fi-ro me-2"></span>Romanian
1815						</button>
1816					</div>
1817					<div>
1818						<button class="btn btn-link text-body p-2 text-start w-100 Russian" data-lang="Russian">
1819						<span class="fi fi-ru me-2"></span>Russian
1820						</button>
1821					</div>
1822					<div>
1823						<button class="btn btn-link text-body p-2 text-start w-100 Serbian" data-lang="Serbian">
1824						<span class="fi fi-rs me-2"></span>Serbian
1825						</button>
1826					</div>
1827					<div>
1828						<button class="btn btn-link text-body p-2 text-start w-100 Slovak" data-lang="Slovak">
1829						<span class="fi fi-sk me-2"></span>Slovak
1830						</button>
1831					</div>
1832					<div>
1833						<button class="btn btn-link text-body p-2 text-start w-100 Slovenian" data-lang="Slovenian">
1834						<span class="fi fi-si me-2"></span>Slovenian
1835						</button>
1836					</div>
1837					<div>
1838						<button class="btn btn-link text-body p-2 text-start w-100 Somali" data-lang="Somali">
1839						<span class="fi fi-so me-2"></span>Somali
1840						</button>
1841					</div>
1842					<div>
1843						<button class="btn btn-link text-body p-2 text-start w-100 Spanish" data-lang="Spanish">
1844						<span class="fi fi-es me-2"></span>Spanish
1845						</button>
1846					</div>
1847					<div>
1848						<button class="btn btn-link text-body p-2 text-start w-100 Swahili" data-lang="Swahili">
1849						<span class="fi fi-ke me-2"></span>Swahili
1850						</button>
1851					</div>
1852					<div>
1853						<button class="btn btn-link text-body p-2 text-start w-100 Swedish" data-lang="Swedish">
1854						<span class="fi fi-se me-2"></span>Swedish
1855						</button>
1856					</div>
1857					<div>
1858						<button class="btn btn-link text-body p-2 text-start w-100 Tamil" data-lang="Tamil">
1859						<span class="fi fi-in me-2"></span>Tamil
1860						</button>
1861					</div>
1862					<div>
1863						<button class="btn btn-link text-body p-2 text-start w-100 Telugu" data-lang="Telugu">
1864						<span class="fi fi-in me-2"></span>Telugu
1865						</button>
1866					</div>
1867					<div>
1868						<button class="btn btn-link text-body p-2 text-start w-100 Thai" data-lang="Thai">
1869						<span class="fi fi-th me-2"></span>Thai
1870						</button>
1871					</div>
1872					<div>
1873						<button class="btn btn-link text-body p-2 text-start w-100 Turkish" data-lang="Turkish">
1874						<span class="fi fi-tr me-2"></span>Turkish
1875						</button>
1876					</div>
1877					<div>
1878						<button class="btn btn-link text-body p-2 text-start w-100 Ukrainian" data-lang="Ukrainian">
1879						<span class="fi fi-ua me-2"></span>Ukrainian
1880						</button>
1881					</div>
1882					<div>
1883						<button class="btn btn-link text-body p-2 text-start w-100 Urdu" data-lang="Urdu">
1884						<span class="fi fi-pk me-2"></span>Urdu
1885						</button>
1886					</div>
1887					<div>
1888						<button class="btn btn-link text-body p-2 text-start w-100 Vietnamese" data-lang="Vietnamese">
1889						<span class="fi fi-vn me-2"></span>Vietnamese
1890						</button>
1891					</div>
1892					<div>
1893						<button class="btn btn-link text-body p-2 text-start w-100 Welsh" data-lang="Welsh">
1894						<span class="fi fi-gb me-2"></span>Welsh
1895						</button>
1896					</div>
1897					<div>
1898						<button class="btn btn-link text-body p-2 text-start w-100 Yoruba" data-lang="Yoruba">
1899						<span class="fi fi-ng me-2"></span>Yoruba
1900						</button>
1901					</div>
1902					<div>
1903						<button class="btn btn-link text-body p-2 text-start w-100 Zulu" data-lang="Zulu">
1904						<span class="fi fi-za me-2"></span>Zulu
1905						</button>
1906					</div>
1907				</div>
1908			</div>
1909			<div class="modal-footer p-2">
1910				<div class="lang-search-status text-center small text-muted" aria-l
1910ive="polite" aria-atomic="true"></div>
1911				<button type="button" class="btn btn-sm btn-primary ms-auto" data-bs-dismiss="modal">Close</button>
1912				<button class="btn btn-link text-body p-2 text-start translate-reset" translate="no">
1913					<i class="fa-solid fa-power-off" aria-hidden="true"></i>
1914					<span class="visually-hidden">Reset Translation</span>
1915				</button>
1916			</div>
1917		</div>
1918	</div>
1919</div>
1920<div id="google-translate" class="d-none"></div>
1921<script>
1922function googleTranslateElementInit() {
1923	new google.translate.TranslateElement(
1924		{ pageLanguage: 'en', autoDisplay: false, layout: google.translate.TranslateElement.InlineLayout.SIMPLE },
1925		'google-translate'
1926	);
1927}
1928</script>
vendor: 2 bytes, line 1928
1928
1929<script>
1930var translateURL = "//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit";
1931$.getScript(translateURL);
1932
1933function clickLanguage(langText, maxTries, intervalMs) {
1934	langText = (langText || '').trim();
1935	maxTries = maxTries || 30;
1936	intervalMs = intervalMs || 200;
1937	var tries = 0;
1938	var timer = setInterval(function () {
1939		var $frame = $("iframe.skiptranslate");
1940		if ($frame.length) {
1941			var doc = $frame.contents();
1942			var $target = doc.find('span.text').filter(function () {
1943				return $(this).text().trim() === langText;
1944			}).closest('a');
1945			if (!$target.length) {
1946				$target = doc.find('span.text').filter(function () {
1947					return $(this).text().trim() === 'English';
1948				}).closest('a');
1949			}
1950			if ($target.length) {
1951				$target.get(0).click();
1952				clearInterval(timer);
1953				return;
1954			}
1955		}
1956		tries++;
1957		if (tries >= maxTries) clearInterval(timer);
1958	}, intervalMs);
1959}
1960
1961function getCookie(cname) {
1962	let name = cname + "=";
1963	let ca = document.cookie.split(';');
1964	for(let i = 0; i < ca.length; i++) {
1965		let c = ca[i];
1966		while (c.charAt(0) == ' ') c = c.substring(1);
1967		if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
1968	}
1969	return "";
1970}
1971
1972function sanitizeFlag(code) {
1973	var v = (code || "").toLowerCase().trim();
1974	if (!v || v === "undefined" || v === "null") return "";
1975	if (!/^[a-z]{2}$/.test(v)) return "";
1976	return v;
1977}
1978
1979function applyActiveFromCookie() {
1980	var code = sanitizeFlag(getCookie('lang')) || sanitizeFlag(getCookie('code')) || 'us';
1981	var $btn = $('.translation-links button').filter(function(){
1982		var dataCode = ($(this).data('code') || '').toString().toLowerCase();
1983		if (dataCode && dataCode === code) return true;
1984		var cls = ($(this).find('span[class*="fi-"]').attr('class') || '');
1985		var m = cls.match(/\bfi-([a-z]{2})\b/i);
1986		return m && m[1].toLowerCase() === code;
1987	}).first();
1988	if (!$btn.length && code === 'us') $btn = $('.translation-links button[data-lang="English"]').first();
1989	$('.translation-links button').removeClass('active');
1990	if ($btn.length) $btn.addClass('active');
1991}
1992
1993(function initSelectedFlag(){
1994	var initialCode = sanitizeFlag(getCookie('lang')) || sanitizeFlag(getCookie('code')) || "us";
1995	$('.selected-flag').attr('class', 'fi fi-' + initialCode + ' selected-flag');
1996	$('.c-code').text(initialCode);
1997	applyActiveFromCookie();
1998})();
1999
2000$(".translation-links button").on("click", function () {
2001	var lang = $(this).data("lang");
2002	$('.translation-links button').removeClass('active');
2003	$(this).addClass('active');
2004	clickLanguage(lang);
2005	var cCode = $(this).data('code');
2006	if (!cCode) {
2007		var cls = $(this).find('span[class*="fi-"]').attr('class') || '';
2008		var m = cls.match(/\bfi-([a-z]{2})\b/i);
2009		if (m) cCode = m[1].toLowerCase();
2010	}
2011	if (!cCode) cCode = 'us';
2012	$('.selected-flag').attr('class', 'fi fi-' + cCode + ' selected-flag');
2013	$('.c-code').text(cCode);
2014	document.cookie = 'lang=' + cCode + '; path=/';
2015	document.cookie = 'code=' + cCode + '; path=/';
2016	return false;
2017});
2018
2019var $translateReset = $(".translate-reset");
2020$translateReset.on("keydown click", function (e) {
2021	if (e.keyCode === 13 || e.type === "click") {
2022		clickLanguage('English');
2023		$('.translation-links button').removeClass('active');
2024		$('.translation-links button[data-lang="English"]').addClass('active');
2025		$('.selected-flag').attr('class','fi fi-us selected-flag');
2026		$('.c-code').text('us');
2027		document.cookie = 'lang=us; path=/';
2028		document.cookie = 'code=us; path=/';
2029	}
2030});
2031
2032(function($){
2033	var $form = $('.translate-search');
2034	var $input = $form.find('input[type="search"]');
2035	var $list = $('.translation-links');
2036	var $btns = $list.find('div');
2037	var $empty = $('.lang-no-results');
2038	var $status = $('.lang-search-status');
2039	$form.on('submit', function(e){ e.preventDefault(); });
2040	function norm(s){
2041		return (s||'').toString().toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'');
2042	}
2043	$btns.each(function(){
2044		var $b = $(this);
2045		var txt = $b.text().trim();
2046		var lang = ($b.data('lang')||'')+'';
2047		$b.attr('data-search', norm(txt + ' ' + lang));
2048	});
2049	function updateStatus(visible, total){
2050		if ($status.length) $status.text(visible + ' of ' + total + ' languages');
2051		if ($empty.length)  $empty.toggleClass('d-none', visible > 0);
2052	}
2053	var total = $btns.length;
2054	updateStatus(total, total);
2055	function filter(){
2056		var q = norm($input.val());
2057		if (!q){
2058			$btns.removeClass('d-none');
2059			updateStatus(total, total);
2060			return;
2061		}
2062		var visible = 0;
2063		$btns.each(function(){
2064			var $b = $(this);
2065			var hay = $b.attr('data-search') || '';
2066			var match = hay.indexOf(q) !== -1;
2067			$b.toggleClass('d-none', !match);
2068			if (match) visible++;
2069		});
2070		$btns.filter('.d-none').attr('tabindex', -1);
2071		$btns.not('.d-none');
2072		updateStatus(visible, total);
2073	}
2074	$input.on('input keyup', filter);
2075})(jQuery);
2076// ADA, Fix Google Translate Inputs
2077function fixGoogleTranslateInputs() {
2078		const inputs = [
2079			{ id: "goog-gt-votingInputSrcLang", label: "Source Language Input" },
2080			{ id: "goog-gt-votingInputTrgLang", label: "Target Language Input" },
2081			{ id: "goog-gt-votingInputSrcText", label: "Source Text Input" },
2082			{ id: "goog-gt-votingInputTrgText", label: "Target Text Input" },
2083			{ id: "goog-gt-votingInputVote", label: "Vote Input" },
2084		];
2085
2086		let allLabelsSet = true;
2087		inputs.forEach((item) => {
2088			const input = document.getElementById(item.id);
2089			if (input) {
2090				input.setAttribute("aria-label", item.label);
2091			} else {
2092				allLabelsSet = false;
2093			}
2094		});
2095
2096		if (allLabelsSet) {
2097			googleObserver.disconnect();
2098		}
2099	}
2100	const googleObserver = new MutationObserver((mutationsList, observer) => {
2101		for (let mutation of mutationsList) {
2102			if (mutation.type === "childList") {
2103				fixGoogleTranslateInputs();
2104			}
2105		}
2106	});
2107	googleObserver.observe(document.body, { childList: true, subtree: true });
2108 fixGoogleTranslateInputs();
2109</script>
vendor: 2 bytes, line 2109
2109
2110<script>
2111// === prevent translation on certain elements ===
2112var NO_TRANSLATE_SELECTORS = [
2113	'.material-icons',
2114	'.main-logo',
2115	'.nav-label',
2116	'.mini-calendar',
2117	'.rz-address-wrapper',
2118	'[data-no-translate]',
2119	'a[href^="mailto:"]'
2120];
2121
2122function applyNoTranslate() {
2123	try {
2124		NO_TRANSLATE_SELECTORS.forEach(function (sel) {
2125			var $els = $(sel);
2126			if ($els.length) {
2127				$els
2128					.addClass('notranslate')
2129					.attr('translate', 'no')
2130					.attr('lang', $els.attr('lang') || 'en');
2131			}
2132		});
2133	} catch (e){
2134		
2135	}
2136}
2137
2138$(applyNoTranslate);
2139var noTranslateObserver = new MutationObserver(function () {
2140	applyNoTranslate();
2141});
2142noTranslateObserver.observe(document.documentElement, { childList: true, subtree: true });
2143</script>
2143
2144<div class="offcanvas offcanvas-end offcanvas-business-item" tabindex="-1" id="catalogueDetails" aria-modal="true">
2145	<div class="offcanvas-body p-0">
2146 		<div class="ratio ratio-16x9 mb-4 featured-image-wrap z-0" style="background-image: url('');"></div>
2147		<button type="button" class="btn-close m-3 me-4 p-2 position-absolute end-0 top-0 bg-white" data-bs-dismiss="offcanvas" aria-label="Close"></button>
2148		<h4 class="p-2 px-md-4 catalogue-title">Catalogue title</h4>
2149		<ul class="nav nav-underline justify-content-start border-bottom m-0 px-4" id="businessTabs" role="tablist">
2150			<li class="nav-item m-0 " role="presentation">
2151				<button class="nav-link py-2 active" id="home-tab" data-bs-toggle="tab" data-bs-target="#overview-tab-pane" type="button" role="tab" aria-controls="overview-tab-pane" aria-selected="true">Overview</button>
2152			</li>
2153			<li class="nav-item m-0" role="presentation">
2154				<button class="nav-link py-2" id="profile-tab" data-bs-toggle="tab" data-bs-target="#about-tab-pane" type="button" role="tab" aria-controls="about-tab-pane" aria-selected="false" tabindex="-1">About</button>
2155			</li>
2156			<li class="nav-item m-0 d-none" role="presentation">
2157				<button class="nav-link py-2" id="contact-tab" data-bs-toggle="tab" data-bs-target="#photos-tab-pane" type="button" role="tab" aria-controls="photos-tab-pane" aria-selected="false" tabindex="-1">Photos</button>
2158			</li>
2159		</ul>
2160		<div id="business-details">
2161			<div class="tab-content" id="businessTabContent">
2162				<div class="tab-pane p-4 fade active show" id="overview-tab-pane" role="tabpanel" tabindex="0">
2163					<div class="row row-cols-3 row-cols-md-3 py-lg-3 px-2 catalogue-helpful-links">
2164						<p class="d-flex flex-column text-center m-0">
2165							<a href="" class="btn btn-link px-0 py-4 p-lg-4 d-flex flex-column text-decoration-none row g-4"><i class="m-0 bi bi-box-arrow-up-right lh-1 fs-2"></i><span>Website</span></a>
2166						</p>
2167						<p class="d-flex flex-column text-center m-0 catalogue-map-link">
2168							<a href="" class="btn btn-link px-0 py-4 p-lg-4 d-flex flex-column text-decoration-none row g-4"><i class="m-0 bi bi-geo-alt lh-1 fs-2"></i><span>View Map</span></a>
2169						</p>
2170						<!-- <p class="d-flex flex-column text-center m-0">
2171							<a href="" class="btn btn-link px-0 py-4 p-lg-4 d-flex flex-column text-decoration-none row g-4"><i class="m-0 bi bi-heart lh-1 fs-2"></i><span>Save</span></a>
2172						</p> -->
2173						<p class="d-flex flex-column text-center m-0">
2174							<a href="" class="btn btn-link px-0 py-4 p-lg-4 d-flex flex-column text-decoration-none row g-4" data-bs-toggle="modal" data-bs-target="#shareModal"><i class="m-0 bi bi-share lh-1 fs-2"></i><span>Share</span></a>
2175						</p>
2176					</div><!-- /.d-flex -->
2177					<hr class="mt-0 mb-4">
2178					<div class="row row-cols-1 row-cols-md-3 catalogue-contacts gap-md-3">
2179					</div><!-- /.row -->
2180					<table class="table catalogue-hours">
2181						<thead>
2182							<tr>
2183								<th scope="col" style="width:160px" class="ps-0 small text-muted">Days</th>
2184								<th scope="col" class="small text-muted">Hours</th>
2185							</tr>
2186						</thead>
2187
2188						<tbody class="table-group-divider">
2189							<tr>
2190								<th scope="row" class="ps-0 text-nowrap">Sunday</th>
2191								<td></td>
2192							</tr>
2193							<tr>
2194								<th scope="row" class="ps-0 text-nowrap">Monday</th>
2195								<td></td>
2196							</tr>
2197							<tr>
2198								<th scope="row" class="ps-0 text-nowrap">Tuesday</th>
2199								<td></td>
2200							</tr>
2201							<tr>
2202								<th scope="row" class="ps-0 text-nowrap">Wednesday</th>
2203								<td></td>
2204							</tr>
2205							<tr>
2206								<th scope="row" class="ps-0 text-nowrap">Thursday</th>
2207								<td></td>
2208							</tr>
2209							<tr>
2210								<th scope="row" class="ps-0 text-nowrap">Friday</th>
2211								<td></td>
2212							</tr>
2213							<tr>
2214								<th scope="row" class="ps-0 text-nowrap">Saturday</th>
2215								<td></td>
2216							</tr>
2217						</tbody>
2218					</table>
2219				</div><!-- /.tab-pane -->
2220				<div class="tab-pane p-4 fade" id="about-tab-pane" role="tabpanel" tabindex="0">
2221				</div><!-- /.tab-pane -->
2222				<div class="tab-pane p-4 fade" id="photos-tab-pane" role="tabpanel" tabindex="0">
2223					<div class="alert alert-warning text-dark border-0 border-start border-warning rounded-0 show" style="border-width:5px!important">#todo masonry has to refresh after clicking photos tab</div>
2224					<div class="rz-gallery-wrap">
2225
2226						<div id="businessDetailslightgallery" class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-2" data-masonry="{&quot;percentPosition&quot;: true, &quot;itemSelector&quot;: &quot;.rz-gallery-image&quot;}" style="position: relative; height: 0px;">
2227
2228							<!-- <div data-src="_assets_/images/no-image-slider-2.jpg" class="rz-gallery-image" data-lg-size="3000-2000" style="position: absolute;">
2229								<img src="_assets_/images/no-image-slider-2.jpg" class="w-100" alt="">
2230												<span class="rz-zoom cursor-pointer z-index-1 bg-white fs-3 lh-1 p-4 rounded-circle">
2231									<i class="bi bi-arrows-angle-expand lh-1"></i>
2232								</span>
2233							</div>
2234							
2235							<div data-src="_assets_/images/no-image-slider.jpg" class="rz-gallery-image" data-lg-size="3000-2000" style="position: absolute;">
2236								<img src="_assets_/images/no-image-slider.jpg" class="w-100" alt="">
2237												<span class="rz-zoom cursor-pointer z-index-1 bg-white fs-3 lh-1 p-4 rounded-circle">
2238									<i class="bi bi-arrows-angle-expand lh-1"></i>
2239								</span>
2240							</div>
2241							
2242							<div data-src="_assets_/images/no-image-slider-2.jpg" class="rz-gallery-image" data-lg-size="3000-2000" style="position: absolute;">
2243								<img src="_assets_/images/no-image-slider-2.jpg" class="w-100" alt="">
2244												<span class="rz-zoom cursor-pointer z-index-1 bg-white fs-3 lh-1 p-4 rounded-circle">
2245									<i class="bi bi-arrows-angle-expand lh-1"></i>
2246								</span>
2247							</div>
2248							
2249							<div data-src="_assets_/images/no-image-slider-2.jpg" class="rz-gallery-image" data-lg-size="3000-2000" style="position: absolute;">
2250								<img src="_assets_/images/no-image-slider-2.jpg" class="w-100" alt="">
2251												<span class="rz-zoom cursor-pointer z-index-1 bg-white fs-3 lh-1 p-4 rounded-circle">
2252									<i class="bi bi-arrows-angle-expand lh-1"></i>
2253								</span>
2254							</div>
2255							
2256							<div data-src="_assets_/images/no-image-slider-2.jpg" class="rz-gallery-image" data-lg-size="3000-2000" style="position: absolute;">
2257								<img src="_assets_/images/no-image-slider-2.jpg" class="w-100" alt="">
2258												<span class="rz-zoom cursor-pointer z-index-1 bg-white fs-3 lh-1 p-4 rounded-circle">
2259									<i class="bi bi-arrows-angle-expand lh-1"></i>
2260								</span>
2261							</div> -->
2262
2263						</div><!-- #lightgallery -->
2264					</div><!-- /.rz-gallery-wrap -->
2265				</div><!-- /.tab-pane -->
2266			</div><!-- /.tab-content -->
2267		</div><!-- /#business-details -->
2268	</div><!-- /.offcanvas-body -->
2269</div>
2270
2271
2272<script>
2273
2274var catalogueDetailsMap = { modal: null };
2275var catalogueJSONData = null;
2276
2277if (typeof indexByIdOrRid !== 'function') {
2278	function indexByIdOrRid(data){
2279		if (!data) return {};
2280		if (!Array.isArray(data)) return data;
2281		return data.reduce((m, item) => {
2282			if (!item) return m;
2283			const key = item.rid ?? item.id;
2284			if (key != null) m[String(key)] = item;
2285			return m;
2286		}, {});
2287	}
2288}
2289
2290function openCatalogueDetails(rid) {
2291	if (!catalogueDetailsMap.modal || !catalogueJSONData) return;
2292
2293	rid = String(rid);
2294	var cRecord = catalogueJSONData[rid];
2295	if (!cRecord) return;
2296
2297	var m = catalogueDetailsMap;
2298
2299	var parsedOptions = cRecord.options;
2300	if (typeof parsedOptions === 'string') {
2301		try { parsedOptions = JSON.parse(parsedOptions); } catch(e){ parsedOptions = {}; }
2302	}
2303	parsedOptions = parsedOptions || {};
2304
2305	var imgURL = (cRecord.image || '').trim();
2306	if (imgURL && !imgURL.endsWith('/')) {
2307		m.img && m.img.classList.remove('d-none');
2308		if (m.img) {
2309			m.img.style.backgroundImage = "url('" + imgURL + "')";
2310		}
2311	} else {
2312		if (m.img) {
2313			m.img.style.backgroundImage = '';
2314			m.img.classList.add('d-none');
2315		}
2316	}
2317
2318	// Title
2319	if (m.title) {
2320		var rawTitle = cRecord.title || cRecord.name || "";
2321		m.title.textContent = decodeHtmlEntities(rawTitle);
2322	}
2323
2324	if (m.helpful) {
2325		var links = m.helpful.querySelectorAll("a");
2326		if (links.length) {
2327			var el = links[0];
2328			var webUrl  = (parsedOptions.website_url || "").trim();
2329			var webText = (parsedOptions.website_text || "Visit Website").trim();
2330			if (webUrl && webUrl !== "#") {
2331				el.href = webUrl;
2332				el.target = "_blank";
2333				var span = el.querySelector("span");
2334				if (span) span.innerText = webText;
2335				el.parentElement && el.parentElement.classList.remove("d-none");
2336			} else {
2337				el.href = "";
2338				el.parentElement && el.parentElement.classList.add("d-none");
2339			}
2340		}
2341	}
2342
2343	if (m.maplink) {
2344		var mapAs = m.maplink.querySelectorAll("a");
2345		if (mapAs.length) {
2346			var mapEl = mapAs[0];
2347			var addr = (parsedOptions.val_address || "").trim();
2348			if (addr) {
2349				var encoded = encodeURIComponent(addr).replace(/%20/g, "+");
2350				mapEl.href = "https://www.google.com/maps/search/?api=1&query=" + encoded;
2351				mapEl.target = "_blank";
2352				mapEl.parentElement && mapEl.parentElement.classList.remove('d-none');
2353			} else {
2354				mapEl.href = "";
2355				mapEl.parentElement && mapEl.parentElement.classList.add('d-none');
2356			}
2357		}
2358	}
2359
2360	if (m.contacts) {
2361		m.contacts.innerHTML = "";
2362		if (Array.isArray(parsedOptions.contacts)) {
2363			parsedOptions.contacts.forEach(function(contact) {
2364				var newAddress = document.createElement("address");
2365				newAddress.innerHTML = '<strong class="small text-muted">' + (contact.val_header||'') + '</strong><br>';
2366
2367				var inner = contact.val_text || '';
2368				if (contact.val_href) {
2369					try {
2370						var href = contact.val_href;
2371						var isSelf = href.startsWith('tel:') || href.startsWith('mailto:') || href.startsWith(location.origin);
2372						inner = '<a href="'+href+'" target="'+(isSelf?'_self':'_blank')+'">'+ inner +'</a>';
2373					} catch(e) { /* ignore bad href */ }
2374				}
2375				newAddress.innerHTML += inner;
2376				m.contacts.append(newAddress);
2377			});
2378		}
2379	}
2380
2381	if (m.hours) {
2382		const table = m.hours; 
2383		const dayKeys = [
2384			'val_sunday','val_monday','val_tuesday','val_wednesday',
2385			'val_thursday','val_friday','val_saturday'
2386		];
2387	
2388		const tds = Array.from(table.querySelectorAll('tbody td'));
2389		let hasAny = false;
2390	
2391		tds.forEach((td, i) => {
2392			const val = parsedOptions.hours && parsedOptions.hours[dayKeys[i]];
2393			const v = (val || '').trim();
2394			td.textContent = v;
2395			if (v) hasAny = true;
2396		});
2397	
2398		table.classList.toggle('d-none', !hasAny);
2399	}
2400
2401	if (m.detail) {
2402		const pane = m.detail;
2403		const tabPane = pane.closest('.tab-pane');
2404		const tabLink = tabPane ? document.querySelector(`[data-bs-target="#${tabPane.id}"]`) : null;
2405	
2406		pane.innerHTML = "Loading...";
2407	
2408		fetch('catalogue/' + encodeURIComponent(rid) + '.php?display=json')
2409			.then(res => res.json())
2410			.then(data => {
2411				const html = (data && data.details) ? data.details.trim() : "";
2412	
2413				pane.innerHTML = html || "";
2414	
2415				const isEmpty = !html;
2416				if (tabPane) tabPane.classList.toggle('d-none', isEmpty);
2417				if (tabLink) tabLink.classList.toggle('d-none', isEmpty);
2418			})
2419			.catch(() => {
2420				pane.innerHTML = "";
2421				if (tabPane) tabPane.classList.add('d-none');
2422				if (tabLink) tabLink.classList.add('d-none');
2423			});
2424	}
2425
2426	// Gallery #TODO)
2427	if (m.gallery) m.gallery.innerHTML = "";
2428
2429	try {
2430		bootstrap.Offcanvas.getOrCreateInstance(m.modal).show();
2431	} catch(e) {
2432		console.error('Offcanvas show failed:', e);
2433	}
2434
2435	if (window.pushOcState) pushOcState('catalogueDetails', rid);
2436}
2437
2438document.addEventListener('DOMContentLoaded', function() {
2439	var modal = document.querySelector("#catalogueDetails");
2440	if (!modal) return;
2441
2442	catalogueDetailsMap = {
2443		modal: modal,
2444		img: modal.querySelector(".featured-image-wrap"),
2445		title: modal.querySelector(".offcanvas-body .catalogue-title"),
2446		helpful: modal.querySelector(".catalogue-helpful-links"),
2447		maplink: modal.querySelector(".catalogue-map-link"),
2448		contacts: modal.querySelector(".catalogue-contacts"),
2449		hours: modal.querySelector(".catalogue-hours"),
2450		detail: modal.querySelector("#about-tab-pane"),
2451		gallery: modal.querySelector("#businessDetailslightgallery"),
2452	};
2453
2454	fetch('_includes_/published/catalogue.json')
2455		.then(res => res.json())
2456		.then(data => { catalogueJSONData = indexByIdOrRid(data); })
2457		.then(() => { if (typeof tryDeepLinkNow === 'function') tryDeepLinkNow('catalogueDetails'); })
2458		.catch((e) => { console.error('catalogue.json load failed', e); catalogueJSONData = {}; });
2459});
2460</script>
2460<div class="offcanvas offcanvas-bottom offcanvas-news-item mx-auto rounded-0 bg-body" tabindex="-1" id="newsDetails" style="--bs-offcanvas-height:95vh;">
2461<div class="progress rounded-0" role="progressbar" aria-label="Scroll Progress" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100" style="height: 8px">
2462	<div class="progress-bar bg-secondary"></div></div>
2463
2464	<div class="offcanvas-header border-bottom fw-bold">
2465		Article Details
2466		<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
2467	</div>
2468	<div class="offcanvas-body pt-0">
2469 		<div class="container p-0">
2470			<div class="col-lg-9 mx-auto">
2471
2472			<div class="sticky-top">
2473				<div class="d-flex small bg-body flex-wrap align-items-center py-3">
2474					<div class="d-flex me-3">
2475						<div class="d-flex post-info-wrap">
2476							<p class="post-published m-0">
2477								<span class="opacity-75">Published:</span>
2478								<time></time> <i class="bi bi-dot d-inline-block"></i>
2479								<span id="eta"></span>
2480							</p><!-- /.post-published -->
2481						</div><!-- /.post-info-wrap -->
2482					</div><!-- /.d-flex -->
2483					
2484					<div class="post-btns-wrap ms-auto">
2485						<button type="button" class="btn px-3 py-1 py-md-2 btn-outline-light d-flex gap-2 align-items-center" data-bs-toggle="modal" data-bs-target="#shareModal" aria-label="Share this post">
2486							<i class="bi bi-share align-middle" aria-hidden="true"></i>
2487							<span class="visually-hidden">Share</span>
2488						</button>
2489					</div><!-- /.post-btns-wrap -->
2490					
2491				</div><!-- /.d-flex -->
2492			</div><!-- /.sticky-top -->
2493
2494		<div class="featured-image-wrapper"></div>
2495		
2496			<div class="p-lg-2 px-md-5">
2497				<h3 class="mb-3 h3">Article Title</h3>
2498				<nav aria-label="breadcrumb" class="breadcrumb mb-3">
2499					<ul>
2500						<li class="breadcrumb-item"><a href="./news">Articles</a> 
2501						<li class="breadcrumb-item active text-truncate" aria-current="page"></li>
2502					</ul>
2503				</nav>
2504				<div id="news-full-details" class="article-full-details"></div><!-- /#post-details -->
2505			</div><!-- /.p-lg-2 -->
2506			</div><!-- /.col-lg-9 -->
2507		</div><!-- /.container -->
2508	</div><!-- /.offcanvas-body -->
2509</div><!-- /.offcanvas -->
2510
2511<script>
2512var newsDetailsMap = { modal: null };
2513var newsJSONData = null;
2514
2515if (typeof indexByIdOrRid !== 'function') {
2516	function indexByIdOrRid(data){
2517		if (!data) return {};
2518		if (!Array.isArray(data)) return data;
2519		return data.reduce((m, item) => {
2520			if (!item) return m;
2521			const key = item.rid ?? item.id;
2522			if (key != null) m[String(key)] = item;
2523			return m;
2524		}, {});
2525	}
2526}
2527
2528function hasImg(url) {
2529	if (!url) return false;
2530	var s = String(url).trim();
2531	if (!s) return false;
2532	if (/^(null|undefined|none|n\/a)$/i.test(s)) return false;
2533	return true;
2534}
2535
2536/* global helper: decode &#10024; &amp; etc */
2537window.decodeHtmlEntities = window.decodeHtmlEntities || function (str) {
2538	if (str == null) return '';
2539	const ta = document.createElement('textarea');
2540	ta.innerHTML = String(str);
2541	return ta.value;
2542};
2543
2544function setFeaturedImage(url) {
2545	var m = newsDetailsMap;
2546	var modal = m.modal;
2547	if (!modal) return;
2548
2549	var wrap = modal.querySelector(".featured-image-wrapper");
2550	if (!wrap) return;
2551
2552	if (hasImg(url)) {
2553		wrap.className = "featured-image-wrapper ratio ratio-16x9 mb-4 featured-image-wrap rounded";
2554		wrap.style.backgroundImage = "url('" + url + "')";
2555		m.img = wrap;
2556	} else {
2557		wrap.className = "featured-image-wrapper";
2558		wrap.style.backgroundImage = "";
2559		m.img = null;
2560	}
2561}
2562
2563function openNewsDetails(rid) {
2564	if (!newsDetailsMap.modal || !newsJSONData) return;
2565
2566	rid = String(rid);
2567	var cRecord = newsJSONData[rid];
2568	if (!cRecord) return;
2569
2570	var m = newsDetailsMap;
2571
2572	setFeaturedImage(cRecord.image);
2573	
2574	const titleDecoded = decodeHtmlEntities(cRecord.title || "");
2575	
2576	m.title.textContent      = titleDecoded;
2577	m.date.textContent       = cRecord.date || cRecord.posted || "";
2578	m.breadcrumb.textContent = titleDecoded;
2579
2580	m.detail.innerHTML = "Loading...";
2581	fetch('articles/' + encodeURIComponent(rid) + '.php?display=json')
2582		.then(res => res.json())
2583		.then(newsData => { m.detail.innerHTML = newsData.details || ""; })
2584		.catch(() => { m.detail.innerHTML = ""; });
2585
2586	try {
2587		bootstrap.Offcanvas.getOrCreateInstance(m.modal).show();
2588	} catch(e) {
2589		console.error('Offcanvas show failed:', e);
2590	}
2591
2592	if (window.pushOcState) pushOcState('newsDetails', rid);
2593}
2594
2595document.addEventListener('DOMContentLoaded', function() {
2596	var modal = document.querySelector("#newsDetails");
2597	if (!modal) return; 
2598
2599	newsDetailsMap = {
2600		modal: modal,
2601		img: modal.querySelector(".featured-image-wrapper"),
2602		title: modal.querySelector("h3.h3"),
2603		date: modal.querySelector(".post-published>time"),
2604		breadcrumb: modal.querySelector(".breadcrumb-item.active"),
2605		detail: modal.querySelector("#news-full-details")
2606	};
2607	
2608	// Scroll progress bar
2609	var scrollTarget  = modal.querySelector('.offcanvas-body');
2610	var progressBar   = modal.querySelector('.progress-bar');
2611	var progressOuter = modal.querySelector('.progress[role="progressbar"]');
2612	
2613	function updateScrollProgress() {
2614		if (!scrollTarget || !progressBar) return;
2615	
2616		var maxScroll = scrollTarget.scrollHeight - scrollTarget.clientHeight;
2617		var current   = scrollTarget.scrollTop || 0;
2618	
2619		var pct = 0;
2620		if (maxScroll > 0) {
2621			pct = (current / maxScroll) * 100;
2622		}
2623		pct = Math.min(Math.max(pct, 0), 100);
2624	
2625		progressBar.style.width = pct + '%';
2626		if (progressOuter) {
2627			progressOuter.setAttribute('aria-valuenow', Math.round(pct));
2628		}
2629	}
2630	
2631	if (scrollTarget && progressBar) {
2632		scrollTarget.addEventListener('scroll', updateScrollProgress, { passive: true });
2633	
2634		modal.addEventListener('show.bs.offcanvas', function () {
2635			if (!scrollTarget) return;
2636			scrollTarget.scrollTop = 0;
2637			updateScrollProgress();
2638		});
2639	
2640		updateScrollProgress();
2641	}
2642
2643	fetch('_includes_/published/news_list.json')
2644		.then(res => res.json())
2645		.then(data => { newsJSONData = indexByIdOrRid(data); })
2646		.then(() => { if (typeof tryDeepLinkNow === 'function') tryDeepLinkNow('newsDetails'); })
2647		.catch((e) => { console.error('news_list.json load failed', e); newsJSONData = {}; });
2648});
2649</script>
2649<div class="offcanvas offcanvas-end offcanvas-job-item"
2650	tabindex="-1"
2651	id="jobDetails">
2652	<div class="offcanvas-header bg-light p-4 px-lg-5">
2653		<h3 class="offcanvas-title fs-4">Job post</h3>
2654		<button type="button"
2655			class="btn-close"
2656			data-bs-dismiss="offcanvas"
2657			aria-label="Close"></button>
2658	</div>
2659	<div class="offcanvas-body p-0">
2660
2661		<div class="p-4 p-lg-5">
2662			<div class="d-flex align-items-center justify-content-between">
2663				<div>
2664					<p class="h3 m-0 fs-3 d-flex flex-column">
2665						<small class="fs-6 text-muted fw-bold">Position</small>
2666					</p>
2667					<h4 class="job-position">Job Position</h4>
2668				</div>
2669				<span class="btn btn-link btn-lg ms-auto d-none"
2670					id="saveItemBtn"
2671					tabindex="0">
2672					<i class="bi bi-heart text-danger ms-auto cursor-pointer"></i>
2673				</span>
2674				<span class="btn btn-link btn-lg p-0"
2675					data-bs-toggle="modal"
2676					data-bs-target="#shareModal"
2677					tabindex="0">
2678					<i class="bi bi-share text-body"></i>
2679				</span>
2680			</div>
2681		</div><!-- /.p-4 -->
2682
2683		<div class="job-details">
2684			<div class="bg-light p-4 p-lg-5">
2685				<div class="row row-cols-1 row-cols-sm-2 g-2 attribute-callouts"></div>
2686
2687				<a href="#"
2688					class="btn btn-primary mt-lg-4 apply-link">
2689					Apply Now<i class="bi bi-box-arrow-up-right ms-2"></i>
2690				</a>
2691			</div><!-- /.bg-light -->
2692
2693			<div class="bg-white p-4 p-lg-5">
2694				<!-- <p class="small bg-success-subtle text-success-emphasis p-1 px-2 mb-2 rounded-pill d-inline-flex">
2695					<small><i class="bi bi-exclamation-circle"></i> Urgent Hire</small>
2696				</p> -->
2697				<p class="fs-4"></p>
2698				<div class="job-full-details"></div>
2699			</div><!-- /.bg-white -->
2700		</div><!-- /#job-details -->
2701	</div><!-- /.offcanvas-body -->
2702</div><!-- /.offcanvas -->
2703
2704<div class="toast align-items-center text-bg-success border-0 position-fixed bottom-0 end-0 m-4"
2705	id="savedItem"
2706	role="alert"
2707	aria-live="assertive"
2708	aria-atomic="true">
2709	<div class="d-flex">
2710		<div class="toast-body">
2711			Added to your favorites!
2712			<a href="" class="text-light">See all here</a>
2713		</div>
2714		<button type="button"
2715			class="btn-close btn-close-white me-2 m-auto"
2716			data-bs-dismiss="toast"
2717			aria-label="Close"></button>
2718	</div>
2719</div><!-- /.toast -->
2720
2721<script>
2722var jobDetailsMap = { modal: null };
2723var jobJSONData = null;
2724
2725if (typeof indexByIdOrRid !== 'function') {
2726	function indexByIdOrRid(data){
2727		if (!data) return {};
2728		if (!Array.isArray(data)) return data; 
2729		return data.reduce((m, item) => {
2730			if (!item) return m;
2731			const key = item.rid ?? item.id;
2732			if (key != null) m[String(key)] = item;
2733			return m;
2734		}, {});
2735	}
2736}
2737
2738function openJobDetails(rid) {
2739	if (!jobDetailsMap.modal || !jobJSONData) return;
2740
2741	rid = String(rid);
2742	var cRecord = jobJSONData[rid];
2743	if (!cRecord) return;
2744
2745	var m = jobDetailsMap;
2746	var parsedOptions = cRecord.options || {};
2747
2748	if (m.titleB) m.titleB.textContent = decodeHtmlEntities(cRecord.title || "");
2749
2750	if (m.callouts) {
2751		m.callouts.innerHTML = "";
2752		if (Array.isArray(parsedOptions.attributes)) {
2753			parsedOptions.attributes.forEach(function(attr) {
2754				var header = attr.val_header || "";
2755				var text   = attr.val_text   || "";
2756				var icon   = parseIconClass(attr.val_icon) || { class: "bi bi-info-circle", ligature: "" };
2757				var wrap = document.createElement("div");
2758				wrap.innerHTML = `
2759					<p class="d-flex gap-3 align-items-center my-2 my-lg-3">
2760						<i class="${icon.class} flex-shrink-0 d-flex align-items-center justify-content-center text-primary bg-white rounded-circle w-h-48 fs-5">${icon.ligature}</i>
2761						<span><strong class="small text-muted lh-1">${header}</strong><br>${text}</span>
2762					</p>`;
2763				m.callouts.append(wrap.firstElementChild);
2764			});
2765		}
2766
2767		var posted = cRecord.posted || "";
2768		if (posted) {
2769			var pWrap = document.createElement('div');
2770			pWrap.innerHTML = `
2771				<p class="d-flex gap-3 align-items-center">
2772					<i class="bi bi-clock flex-shrink-0 d-flex align-items-center justify-content-center text-primary bg-white rounded-circle w-h-48 fs-5"></i>
2773					<span><strong class="small text-muted lh-1">Posted</strong><br>${posted}</span>
2774				</p>`;
2775			m.callouts.append(pWrap.firstElementChild);
2776		}
2777	}
2778
2779	if (m.apply) {
2780		var btnURL  = (parsedOptions.website_url || "").trim();
2781		var btnText = (parsedOptions.website_text || "Learn More").trim();
2782
2783		if (btnURL && btnURL !== "#") {
2784			m.apply.classList.remove("d-none");
2785			m.apply.setAttribute("href", btnURL);
2786			m.apply.setAttribute("target", "_blank");
2787			m.apply.innerHTML = btnText + '<i class="bi bi-box-arrow-up-right ms-2"></i>';
2788		} else {
2789			m.apply.classList.add("d-none");
2790			m.apply.setAttribute("href", "#");
2791		}
2792	}
2793
2794	if (m.detail) {
2795		const pane = m.detail;
2796		const tabPane = pane.closest('.tab-pane');
2797		const tabLink = tabPane ? document.querySelector(`[data-bs-target="#${tabPane.id}"]`) : null;
2798	
2799		pane.innerHTML = "Loading...";
2800	
2801		fetch('jobs/' + encodeURIComponent(rid) + '.php?display=json')
2802			.then(res => res.json())
2803			.then(data => {
2804				const html = (data && data.details) ? data.details.trim() : "";
2805	
2806				pane.innerHTML = html || "";
2807	
2808				const isEmpty = !html;
2809				if (tabPane) tabPane.classList.toggle('d-none', isEmpty);
2810				if (tabLink) tabLink.classList.toggle('d-none', isEmpty);
2811			})
2812			.catch(() => {
2813				pane.innerHTML = "";
2814				if (tabPane) tabPane.classList.add('d-none');
2815				if (tabLink) tabLink.classList.add('d-none');
2816			});
2817	}
2818
2819	try {
2820		bootstrap.Offcanvas.getOrCreateInstance(m.modal).show();
2821	} catch(e) {
2822		console.error('Offcanvas show failed:', e);
2823	}
2824
2825	if (window.pushOcState) pushOcState('jobDetails', rid);
2826}
2827
2828document.addEventListener('DOMContentLoaded', function() {
2829	var modal = document.querySelector("#jobDetails");
2830	if (!modal) return; 
2831
2832	jobDetailsMap = {
2833		modal: modal,
2834		titleB: modal.querySelector(".job-position"),
2835		callouts: modal.querySelector(".attribute-callouts"),
2836		detail: modal.querySelector(".job-full-details"),
2837		apply: modal.querySelector(".apply-link")
2838	};
2839
2840	fetch('_includes_/published/job_list.json')
2841		.then(res => res.json())
2842		.then(data => { jobJSONData = indexByIdOrRid(data); })
2843		.then(() => { if (typeof tryDeepLinkNow === 'function') tryDeepLinkNow('jobDetails'); })
2844		.catch((e) => { console.error('job_list.json load failed', e); jobJSONData = {}; });
2845});
2846
2847</script>
2847
2848<div class="offcanvas offcanvas-end offcanvas-bid-item"
2849	tabindex="-1"
2850	id="bidDetails">
2851	<div class="offcanvas-header bg-light p-4 px-lg-5">
2852		<h3 class="offcanvas-title fs-4">Bid details</h3>
2853		<button type="button"
2854			class="btn-close"
2855			data-bs-dismiss="offcanvas"
2856			aria-label="Close"></button>
2857	</div>
2858	<div class="offcanvas-body p-0">
2859
2860		<div class="p-4 p-lg-5">
2861			<div class="d-flex align-items-center justify-content-between">
2862				<div>
2863					<p class="mb-2">
2864						<span class="small">Status:</span> <span class="badge bid-status d-none d-inline-flex"></span>
2865					</p>
2866					<h4 class="bid-title">Bid Title</h4>
2867				</div>
2868				<span class="btn btn-link btn-lg p-0"
2869					data-bs-toggle="modal"
2870					data-bs-target="#shareModal"
2871					tabindex="0">
2872					<i class="bi bi-share text-body"></i>
2873				</span>
2874			</div>
2875		</div>
2876
2877		<div class="bid-details">
2878			<div class="bg-light p-4 p-lg-5">
2879				<div class="row row-cols-1 row-cols-sm-2 g-2 start-end-dates">
2880					<p class="d-flex gap-3 align-items-center my-2 my-lg-3 bid-start-wrap">
2881						<i class="bi bi-check2 flex-shrink-0 d-flex align-items-center justify-content-center text-success bg-white rounded-circle w-h-48 fs-4"></i>
2882						<span>
2883							<strong class="small text-muted lh-1">Start date</strong><br>
2884							Start: <span class="bid-start-date"></span>
2885						</span>
2886					</p>
2887				
2888					<p class="d-flex gap-3 align-items-center my-2 my-lg-3 bid-end-wrap">
2889						<i class="bi bi-x-lg flex-shrink-0 d-flex align-items-center justify-content-center text-danger bg-white rounded-circle w-h-48 fs-5"></i>
2890						<span>
2891							<strong class="small text-muted lh-1">End date</strong><br>
2892							End: <span class="bid-end-date"></span>
2893						</span>
2894					</p>
2895				</div>
2896				<a href="#"
2897					class="btn btn-primary mt-3 mt-lg-4 apply-link">
2898					Apply Now<i class="bi bi-box-arrow-up-right ms-2"></i>
2899				</a>
2900			</div>
2901
2902			<div class="bg-white p-4 p-lg-5">
2903				<p class="fs-4"></p>
2904				<div class="bid-full-details"></div>
2905			</div>
2906		</div>
2907	</div>
2908</div>
2909
2910<script>
2911var bidDetailsMap = { modal: null };
2912var bidJSONData = null;
2913
2914if (typeof indexByIdOrRid !== 'function') {
2915	function indexByIdOrRid(data){
2916		if (!data) return {};
2917		if (!Array.isArray(data)) return data;
2918		return data.reduce((m, item) => {
2919			if (!item) return m;
2920			const key = item.rid ?? item.id;
2921			if (key != null) m[String(key)] = item;
2922			return m;
2923		}, {});
2924	}
2925}
2926
2927function fmtDate(iso) {
2928	if (!iso) return "";
2929	var s = String(iso).trim();
2930	if (!s) return "";
2931	var d = new Date(s.slice(0, 10) + "T00:00:00");
2932	if (Number.isNaN(d.getTime())) return s;
2933	return d.toLocaleDateString(undefined, { year: "numeric", month: "short", day: "numeric" });
2934}
2935
2936function statusClass(status) {
2937	var s = String(status || "").trim().toLowerCase();
2938	if (s === "open") return "text-bg-success";
2939	if (s === "closed") return "text-bg-danger";
2940	if (s === "awarded") return "text-bg-primary";
2941	if (s === "canceled" || s === "cancelled") return "text-bg-dark";
2942	if (s === "pending") return "text-bg-secondary";
2943	return "text-bg-secondary";
2944}
2945
2946function openBidDetails(rid) {
2947	if (!bidDetailsMap.modal || !bidJSONData) return false;
2948
2949	rid = String(rid);
2950	var cRecord = bidJSONData[rid];
2951	if (!cRecord) return false;
2952
2953	var m = bidDetailsMap;
2954	var parsedOptions = cRecord.options || {};
2955
2956	if (m.titleB) m.titleB.textContent = cRecord.title || "";
2957
2958	// STATUS
2959	if (m.statusEl) {
2960		var status = (parsedOptions.val_status || "").trim();
2961		if (status) {
2962			m.statusEl.className = "small px-2 py-1 rounded-1 bid-status " + statusClass(status);
2963			m.statusEl.textContent = status;
2964			m.statusEl.classList.remove("d-none");
2965		} else {
2966			m.statusEl.classList.add("d-none");
2967			m.statusEl.textContent = "";
2968		}
2969	}
2970
2971	// DATES (Start/End)
2972	var sd = fmtDate(parsedOptions.start_date || parsedOptions.startDate);
2973	var ed = fmtDate(parsedOptions.end_date   || parsedOptions.endDate);
2974	
2975	if (m.startWrap && m.startEl) {
2976		if (sd) {
2977			m.startEl.textContent = sd;
2978			m.startWrap.classList.remove("d-none");
2979		} else {
2980			m.startEl.textContent = "";
2981			m.startWrap.classList.add("d-none");
2982		}
2983	}
2984	
2985	if (m.endWrap && m.endEl) {
2986		if (ed) {
2987			m.endEl.textContent = ed;
2988			m.endWrap.classList.remove("d-none");
2989		} else {
2990			m.endEl.textContent = "";
2991			m.endWrap.classList.add("d-none");
2992		}
2993	}
2994
2995	if (m.apply) {
2996		var btnURL  = (parsedOptions.website_url || "").trim();
2997		var btnText = (parsedOptions.website_text || "Learn More").trim();
2998
2999		if (btnURL && btnURL !== "#") {
3000			m.apply.classList.remove("d-none");
3001			m.apply.setAttribute("href", btnURL);
3002			m.apply.setAttribute("target", "_blank");
3003			m.apply.innerHTML = btnText + '<i class="bi bi-box-arrow-up-right ms-2"></i>';
3004		} else {
3005			m.apply.classList.add("d-none");
3006			m.apply.setAttribute("href", "#");
3007		}
3008	}
3009
3010	if (m.detail) {
3011		var pane = m.detail;
3012		pane.innerHTML = "Loading...";
3013
3014		fetch('bids/' + encodeURIComponent(rid) + '.php?display=json')
3015			.then(function(res){ return res.json(); })
3016			.then(function(data){
3017				var html = (data && data.details) ? String(data.details).trim() : "";
3018				pane.innerHTML = html || "";
3019			})
3020			.catch(function(){
3021				pane.innerHTML = "";
3022			});
3023	}
3024
3025	try {
3026		bootstrap.Offcanvas.getOrCreateInstance(m.modal).show();
3027	} catch(e) {
3028		console.error('Offcanvas show failed:', e);
3029	}
3030
3031	if (window.pushOcState) pushOcState('bidDetails', rid);
3032
3033	return false;
3034}
3035
3036document.addEventListener('DOMContentLoaded', function() {
3037	var modal = document.querySelector("#bidDetails");
3038	if (!modal) return;
3039
3040	bidDetailsMap = {
3041		modal: modal,
3042		titleB: modal.querySelector(".bid-title"),
3043		statusEl: modal.querySelector(".bid-status"),
3044		startWrap: modal.querySelector(".bid-start-wrap"),
3045		endWrap: modal.querySelector(".bid-end-wrap"),
3046		startEl: modal.querySelector(".bid-start-date"),
3047		endEl: modal.querySelector(".bid-end-date"),
3048		detail: modal.querySelector(".bid-full-details"),
3049		apply: modal.querySelector(".apply-link")
3050	};
3051
3052	fetch('_includes_/published/bids_list.json')
3053		.then(function(res){ return res.json(); })
3054		.then(function(data){ bidJSONData = indexByIdOrRid(data); })
3055		.then(function(){ if (typeof tryDeepLinkNow === 'function') tryDeepLinkNow('bidDetails'); })
3056		.catch(function(e){
3057			console.error('bids_list.json load failed', e);
3058			bidJSONData = {};
3059		});
3060});
3061</script>
3061
3062	<div class="rz-brand-footer bg-black small text-white py-3 py-lg-2">
3063		<div class="container-fluid small">
3064			<div class="d-lg-flex align-items-center">
3065				<div class="col w-100 d-flex flex-lg-row flex-column gap-2 mb-lg-0 mb-3 p-0">
3066					<span class="footer-copyright">&copy; 2026 Iowa Northland Regional Council of Government</span>
3067					<a class="text-white f-accessibility_statement" href="accessibility_statement/index.php">Accessibility Statement</a>
3068					<a class="text-white f-privacy_policy" href="privacy_policy/index.php">Privacy Policy</a>
3069					<a class="text-white f-terms_and_conditions" href="terms_and_conditions/index.php">Terms and Conditions</a>
3070					<a class="text-white f-cookie_policy" href="cookie_policy/index.php">Cookie Policy</a>
3071				</div><!-- /.col -->
3072				<div class="text-lg-end align-items-center d-xl-flex gap-1 justify-content-start justify-content-lg-end f-powered-by">
3073					Designed &amp; Powered by <a href="https://www.revize.com/" target="_blank" class="text-white">revize.</a>,<br class="d-xl-none"> the Government Website Experts <i class="bi bi-dot"></i> <a href="https://builder1.revize.com/revize/security/index.jsp?webspace=inrcog&filename=/news/index.php" class="btn btn-primary btn-primary-rz btn-sm rounded-1">Staff Login</a>
3074				</div>
3075			</div><!-- /.d-lg-flex -->
3076		</div><!-- /.container-fluid -->
3077	</div>	
3078	
3078<script src="/revize/plugins/revize_calendar/index.v2.js"></script>
3078
3079	
3079<script src="/revize/plugins/zbuilder/v1/website/_assets_/js/scripts.js"></script>
vendor: 81 bytes, lines 3079-3081
3079
3080	<script src="https://www.google.com/recaptcha/api.js" async defer></script>
3081	
3081<script src="/revize/plugins/page_builder/formwizard.form_validation_include.js"></script>
3081
3082	
3082<script>
3083const interval = setInterval(function() { 
3084document.querySelectorAll('.rz-element.rz-card-wrap').forEach(cardWrap => {
3085  const category = cardWrap.getAttribute('data-category'); // Get the data-category
3086  const imgWrap = cardWrap.querySelector('.rz-card-img-wrap'); // Find the image wrapper
3087
3088  if (category && imgWrap) {
3089    const categoryDiv = document.createElement('div'); // Create new div
3090    categoryDiv.className = 'cateName'; // Give it the class .cateName
3091    categoryDiv.textContent = category; // Set the text to the category
3092    imgWrap.appendChild(categoryDiv); // Append it inside .rz-card-img-wrap
3093  }
3094});
3095  $('.rz-business-directory-card').each(function () 
3096    { 
3097    if ($(this).children('.card-contact-list').length === 0) 
3098    { 
3099      $(this).append('<div class="card-contact-list"></div>'); 
3100    } 
3101  }); 
3102  
3103  document.querySelectorAll('.rz-business-directory-card').forEach(card => { 
3104    const rightBx = card.querySelector('.card-contact-list'); 
3105    if (rightBx) { 
3106      const elementsToMove = card.querySelectorAll('.rz-card-address, .catalogues_contacts, a.rz-card-btn'); 
3107      elementsToMove.forEach(el => { 
3108        rightBx.appendChild(el); }); 
3109    	} clearInterval(interval); }); 
3110},300);
3111
3112$('.card-contact-list .rz-card-actions button')
3113  .detach()
3114  .appendTo('.catalogues_contacts');
3115
3116var qlItems = $('.homepage-quick-links #tns2-mw .tiny-carousel .rz-qlink-wrap');
3117  for(var i = 0; i < qlItems.length; i+=2) {
3118  qlItems.slice(i, i+2).wrapAll('<div class="tns-item"></div>');
3119}
3120$(document).ready(function() {
3121  var breadcrumb = $('.rz-slider-caption-title .breadcrumb').detach();
3122  $('.post-content .container').prepend(breadcrumb);
3123});
3124</script>
3124
3125</div><!-- /.rz-site-wrap -->
3126</body>
3127</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.