PageSourceSearch

https://gatesvilletx.com/news/index.php

html gatesvilletx.com collected 2026-09-25 04:46:11 UTC 131,865 bytes, 3,109 lines download raw bytes

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