PageSourceSearch

https://riversideca.gov/

html riversideca.gov collected 2026-09-24 08:52:09 UTC 105,745 bytes, 2,631 lines download raw bytes

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
2  "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
3<html lang="en" dir="ltr"
4  xmlns:content="http://purl.org/rss/1.0/modules/content/"
5  xmlns:dc="http://purl.org/dc/terms/"
6  xmlns:foaf="http://xmlns.com/foaf/0.1/"
7  xmlns:og="http://ogp.me/ns#"
8  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
9  xmlns:sioc="http://rdfs.org/sioc/ns#"
10  xmlns:sioct="http://rdfs.org/sioc/types#"
11  xmlns:skos="http://www.w3.org/2004/02/skos/core#"
12  xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
13<head profile="http://www.w3.org/1999/xhtml/vocab">
14<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 14-15
14
15<script async src="https://www.googletagmanager.com/gtag/js?id=
15G-B1J3RWJCLC
vendor: 13 bytes, line 15
15"></script>
16<script>
17  
vendor: 138 bytes, lines 17-21
17window.dataLayer = window.dataLayer || [];
18  function gtag(){dataLayer.push(arguments);}
19  gtag('js', new Date());
20
21  gtag('config', '
21G-B1J3RWJCLC
vendor: 5 bytes, line 21
21');
22</script>
22
23  <meta charset="utf-8">
24  <meta http-equiv="X-UA-Compatible" content="IE=edge">
25  <meta name="viewport" content="width=device-width, initial-scale=1.0">
26  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
27<link rel="shortcut icon" href="https://www.riversideca.gov/sites/all/themes/city_of_riverside/favicon.ico" type="image/vnd.microsoft.icon" />
28<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
29  <title>Riverside, California | City of Arts & Innovation </title>
30
31<link rel="preconnect" href="https://fonts.googleapis.com">
32<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
33<link rel="preconnect" href="https://www.riversideca.gov" crossorigin>
34<link rel="dns-prefetch" href="https://cdnjs.cloudflare.com">
35
36<!-- StyleSheets  -->
37<link type="text/css" rel="stylesheet" href="/css/corweb/system.base.css"/>
38<link type="text/css" rel="stylesheet" href="/css/corweb/field.css" />
39<link type="text/css" rel="stylesheet" href="/css/corweb/views.css"/>
40<link type="text/css" rel="stylesheet" href="/css/corweb/ctools.css"/>
41<link type="text/css" rel="stylesheet" href="/css/corweb/reset.css"/>
42<link type="text/css" rel="stylesheet" href="/css/corweb/style.css"/>
43<link type="text/css" rel="stylesheet" href="/css/corweb/main.css"/>
44<link href="https://prod-druid-cdn-clients.azureedge.net/cityofriverside-hs/Rivy-56ab1b4e-737c-4fa0-a723-08dd8c0983b3/webchatfiles/druid_webchat_v2.css" rel="stylesheet">
45<link href="https://www.riversideca.gov/js/riv-lib/fontawesome/css/all.min.css" rel="stylesheet">
46<style>
47    @import url("https://www.riversideca.gov/sites/default/files/fontyourface/font.css?oqtub7");
48</style>
49
50<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,700,italic,regular&amp;subset=latin" media="all" />
51<!-- HTML5 element support for IE6-8 -->
52<!--[if lt IE 9]>
53<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
53
54<![endif]-->
55
56<style>	
57
58   
59@media (max-width: 700px){
60    .emergencyBar{
61        margin-top: 80px;
62    }
63    .main-container, .wide-container {
64        margin-top: 0px;
65    }
66    .region-slider {
67            margin-top: 0px;
68    }
69}
70				
71.sociali {
72    position: relative !important;
73    font-size: 20px !important;
74    padding: 5px !important;
75}
76			
77@media (max-width: 700px){
78	.emergencyBar{
79		margin-top: 80px;
80	}
81	.main-container, .wide-container {
82        margin-top: 0px;
83	}
84	.region-slider {
85        margin-top: 0px;
86	}
87
88}
89
90/* Slideout Menu - match /fire */
91.slideout-menu .menu-link,
92.slideout-menu .city-links a {
93    display: block;
94    padding: 12px 16px;
95    border-bottom: 1px solid #444;
96    font-weight: bold;
97    text-transform: uppercase;
98    color: #fff;
99    text-decoration: none;
100}
101
102.slideout-menu .main-menu-links,
103.slideout-menu .city-links {
104    margin-top: 20px;
105}
106
107/* removed to match corweb slideout menu style */
108/* .slideout-menu h4 {
109    font-size: 18px;
110    color: #fff;
111    margin: 20px 16px 10px;
112    font-weight: bold;
113} */
114
115.slideout-menu .social-media ul {
116    display: flex;
117    justify-content: flex-start;
118    gap: 16px;
119    /* padding: 16px; */
120}
121
122.slideout-menu .social-media i {
123    font-size: 18px !important;
124    color: #fff !important;
125}
126
127@media screen and (min-width: 768px){
128    .carousel-indicators {
129        bottom: -50px;
130    }
131    .riversideHeader{
132        margin-bottom:37px; 
133    }
134}
135
136@media screen and (max-width: 768px){
137    .carousel-indicators {
138        position: absolute;
139        bottom: -48px;
140        left: 50%;
141        z-index: 15;
142        width: 60%;
143        margin-left: -30%;
144        padding-left: 0;
145        list-style: none;
146        text-align: center;
147    }
148    .riversideHeader{
149        margin-bottom: 10px;
150        margin-top: 50px;
151    }
152}
153
154.fade-carousel .carousel-indicators>li {
155    margin: 0 2px;
156    width: 15px;
157    height: 15px;
158    background-color: #cecece;;
159    border: none;
160    opacity: .8;
161}
162
163.card a:hover, a:focus p{
164    color: #428bca;
165    text-decoration: none!important;
166}
167
168.crt-panel-next, .crt-panel-prev{
169    display:none;
170}
171
172.calendarTitle{
173    font-size:20px;
174}
175
176
177  /* General button style (reset) */
178.bttn {
179    border: none;
180    font-size: 14px;
181    color: #fff !important;
182    background: none;
183    cursor: pointer;
184    padding: 10px 20px;
185    display: inline-block;
186    text-transform: uppercase;
187    letter-spacing: 1px;
188    font-weight: 700;
189    outline: none;
190    position: relative;
191    -webkit-transition: all 0.3s;
192    -moz-transition: all 0.3s;
193    transition: all 0.3s;
194    margin-bottom: 30px; 
195    text-decoration: none !important; 
196}
197
198.bttn:after {
199    content: '';
200    position: absolute;
201    z-index: -1;
202    -webkit-transition: all 0.3s;
203    -moz-transition: all 0.3s;
204    transition: all 0.3s;
205}
206
207  /* Button 1 */
208.bttn-1 {
209    background: #002856;
210    color: #fff;
211    box-shadow: 0 6px #000;
212    -webkit-transition: none;
213    -moz-transition: none;
214    transition: none;
215}
216
217  /* Button 1c */
218.bttn-1c {
219    border-radius: 5px;
220}
221
222.bttn-1c:hover {
223    box-shadow: 0 4px #000;
224    top: 2px;
225}
226
227.bttn-1c:active {
228    box-shadow: 0 0 #000;
229    top: 6px;
230}
231
232  /* Button 1c */
233.bttn-1c {
234    border-radius: 5px;
235}
236
237.bttn-1c:hover {
238    box-shadow: 0 4px #000;
239    top: 2px;
240}
241
242.bttn-1c:active {
243    box-shadow: 0 0 #000;
244    top: 6px;
245}
246
247
248
249  /* Button 2 */
250.bttn-2 {
251    background: #005870;
252    color: #fff;
253    box-shadow: 0 6px #00303d;
254    -webkit-transition: none;
255    -moz-transition: none;
256    transition: none;
257}
258
259  /* Button 2c */
260.bttn-2c {
261    border-radius: 5px;
262}
263
264.bttn-2c:hover {
265    box-shadow: 0 4px #00303d;
266    top: 2px;
267}
268
269.bttn-2c:active {
270    box-shadow: 0 0 #00303d;
271    top: 6px;
272}
273
274  /* Button 2c */
275.bttn-2c {
276    border-radius: 5px;
277}
278
279.bttn-2c:hover {
280    box-shadow: 0 4px #00303d;
281    top: 2px;
282}
283
284.bttn-2c:active {
285    box-shadow: 0 0 #00303d;
286    top: 6px;
287}
288
289  /* Button 3 */
290.bttn-3 {
291    background: #ecaa00;
292    color: #fff;
293    box-shadow: 0 6px #a67800;
294    -webkit-transition: none;
295    -moz-transition: none;
296    transition: none;
297}
298
299  /* Button 3c */
300.bttn-3c {
301    border-radius: 5px;
302}
303
304.bttn-3c:hover {
305    box-shadow: 0 4px #a67800;
306    top: 2px;
307}
308
309.bttn-3c:active {
310    box-shadow: 0 0 #a67800;
311    top: 6px;
312}
313
314  /* Button 4 */
315.bttn-4 {
316    background: #84332e;
317    color: #fff;
318    box-shadow: 0 6px #4e1c19;
319    -webkit-transition: none;
320    -moz-transition: none;
321    transition: none;
322}
323
324  /* Button 4c */
325.bttn-4c {
326    border-radius: 5px;
327}
328
329.bttn-4c:hover {
330    box-shadow: 0 4px #4e1c19;
331    top: 2px;
332}
333
334.bttn-4c:active {
335    box-shadow: 0 0 #4e1c19;
336    top: 6px;
337}
338
339  /* Button 5 */
340.bttn-5 {
341    background: #59621d;
342    color: #fff;
343    box-shadow: 0 6px #3a4010;
344    -webkit-transition: none;
345    -moz-transition: none;
346    transition: none;
347}
348
349  /* Button 5c */
350.bttn-5c {
351    border-radius: 5px;
352}
353
354.bttn-5c:hover {
355    box-shadow: 0 4px #3a4010;
356    top: 2px;
357}
358
359.bttn-5c:active {
360    box-shadow: 0 0 #3a4010;
361    top: 6px;
362}
363
364  /* Button 6 */
365.bttn-6 {
366    background: #a85623;
367    color: #fff;
368    box-shadow: 0 6px #612e0e;
369    -webkit-transition: none;
370    -moz-transition: none;
371    transition: none;
372}
373
374  /* Button 6c */
375.bttn-6c {
376    border-radius: 5px;
377}
378
379.bttn-6c:hover {
380    box-shadow: 0 4px #612e0e;
381    top: 2px;
382}
383
384.bttn-6c:active {
385    box-shadow: 0 0 #612e0e;
386    top: 6px;
387}
388
389
390.bttn {
391    margin-bottom: 30px;
392    text-decoration: none !important;
393}
394  
395figure.pressCard {
396    font-family: Lato;
397    color: #fff;
398    position: relative;
399    float: left;
400    overflow: hidden;
401    margin: 10px 1%;
402    min-width: 220px;
403    max-width: 221px;
404    height: 340px;
405    width: 100%;
406    background-color: #fff;
407    color: #000;
408    text-align: left;
409    font-size: 16px;
410}
411
412figure.pressCard .date, figure.pressCard i, figure.pressCard .date .month {
413    background-color: #fff;
414}
415
416/* fixing the mobile menu to reflect corweb styles */
417.slide-menu-container .menu.nav li {
418    border-bottom: 1px solid #7c7c7c;
419}
420
421.slide-menu-container .menu.nav li>a {
422    text-transform: uppercase;
423}
424
425@media( max-width: 700px ){
426    #main-menu-links a{
427        color: #fff !important;
428    }
429}
430/* .slideout-menu .navbar-nav a{
431color: #fff !important; */
432/* text-transform: uppercase; */
433/* border-bottom: 1px solid #7c7c7c; */
434/* margin-left: 15px; */
435            /* } */
436
437            
438/* .slideout-menu .navbar-nav li:hover{
439    background: #ECAA00 !important;
440} */
441
442/* edit to fix the background color on main nav */
443.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus {
444    background-color: #eeeeee;
445    color: #002856;
446}
447
448
449/* .nav>li>a:hover, .nav>li>a:focus {
450    text-decoration: none;
451    background-color: #ECAA00 !important;
452} */
453
454.slideout-menu .social-media ul {
455    display: flex;
456    justify-content: center !important;
457    gap: 0px !important;
458    /* padding: 16px; */
459    align-content: center !important;
460}
461
462</style>
463
464
465</head>
466<body class="html front not-logged-in no-sidebars page-node" >
467    <div id="skip-link">
468        <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a>
469    </div>
470    <!--Header + Navigation-->      
471    <nav id="menu">
472        <button style="font-family: Lato;" href="#" id="nav-close" class="nav-close-container nav-close-btn" >PAGE MENU <span class="pull-right nav-close-x" style="margin-right:10px">X</span></button>
473        <div class="slide-menu-container">
474            <div class="search-container ">
475                <form class="search-form clearfix" action="https://www.riversideca.gov/search" method="get" id="searchform"
476                role="search" aria-label="Search site">
477                    <div class="form-wrapper form-group" id="edit-basic">
478                        <input name="t" type="hidden" value="h" />
479                        <input type="hidden" name="form_id" value="search_form" />
480                        <div class="search-group">
481                            <input type="text" name="addsearch" id="m-coresearch" class="searchInput"
482                                placeholder="Search RiversideCA.gov">
483                            <label for="m-coresearch" class="sr-only">Search RiversideCA.gov</label>
484                            <button type="submit" class="btn btn-default search-btn" aria-label="Search">
485                                <i class="fa fa-search"></i>
486                                <span class="sr-only">Search</span>
487                            </button>
488                        </div>
489                    </div>
490                </form> 
491            </div>
492            <h4 class="slide-menu-title">Main Menu Links</h4>
493            <ul class="menu nav navbar-nav clearfix"><li class="menu-739 last"><a class="" href="/" title="/" alt="">RiversideCA.gov</a></li></ul>
494            <ul id="main-menu-links" class="menu nav navbar-nav clearfix">
495                <li class="menu-574"><a href="/about-riverside" class="">About Riverside</a></li>
496                <li class="menu-575 "><a href="/residents" class="">Residents</a></li>
497                <li class="menu-576"><a href="/government">Government</a></li>
498                <li class="menu-577"><a href="/business">Business</a></li>
499                <li class="menu-578"><a href="/services">Services</a></li>
500                <li class="menu-579"><a href="/media">Media</a></li>
501                <li class="menu-602"><a href="/connect">Connect</a></li>
502                <li class="menu-580 last"><a href="/jobs" title="Riverside City Jobs">Jobs</a></li>
503            </ul>           
504            <div style="margin-top:20px" class="text-center social-media">
505                <ul class="nav nav-pills">
506                    <li>
507                        <a target="_blank" href="https://www.facebook.com/CityofRiverside" aria-label="Facebook">
508                            <i class="fa fa-facebook fa-2x" aria-hidden="true"></i>
509                        </a>
510                    </li>
511                    <li>
512                        <a target="_blank" href="https://instagram.com/cityofriverside" aria-label="Instagram">
513                            <i class="fa fa-instagram  fa-2x" aria-hidden="true"></i>
514                        </a>
515                    </li>
516                    <li>
517                        <a target="_blank" href="https://twitter.com/riversidecagov" aria-label="Twitter">
518                            <i class="fa-brands fa-square-x-twitter fa-2x" aria-hidden="true"></i>
519                        </a>
520                    </li>
521                    <li>
522                        <a target="_blank" href="https://member.everbridge.net/index/453003085614598" aria-label="Riverside Alerts" rel="noopener noreferrer">
523                            <svg class="svg-inline--fa" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
524                                viewBox="0 0 86.31 86.11">
525                                <path fill="currentColor"
526                                    d="M42.53 9.95c-18.06 0-32.68 14.64-32.68 32.69s14.64 32.69 32.69 32.69 32.68-14.64 32.68-32.69S60.59 9.95 42.53 9.95m-2.1 16.88c.2-.22.46-.34.76-.35 7.78-.22 14.56 5.5 15.68 13.16.04.29-.03.58-.22.81-.19.24-.47.38-.77.41l-.97.09h-.1c-.56 0-1.05-.43-1.14-1a12.134 12.134 0 0 0-12.03-10.27h-.2c-.63 0-1.14-.46-1.19-1.05l-.09-.97c-.03-.3.07-.61.27-.83m8.88 14.6c-.55 0-1.04-.41-1.16-.98a6.69 6.69 0 0 0-6.24-5.24c-.62-.03-1.13-.49-1.18-1.07l-.11-1.32c-.03-.31.07-.61.28-.84.2-.22.46-.33.75-.33 4.96 0 9.19 3.55 10.05 8.43.05.28-.02.57-.2.8-.19.24-.47.39-.78.42l-1.32.12h-.1.01Zm7.98 16.77-.78.78c-1.66 1.66-4.26 3.01-7.81 4.06-2.72-1.15-5.44-2.68-8.16-4.6-2.71-1.92-5.42-4.24-8.12-6.94-2.74-2.74-5.08-5.48-7.04-8.23s-3.52-5.5-4.7-8.27h.01c.88-3.4 2.18-5.98 3.91-7.71l.66-.67c1.06-1.06 2.03-1.57 2.92-1.53.88.05 1.91.66 3.08 1.83 3.33 3.34 3.8 6.2 1.41 8.6l-1.07 1.07c-.81.81-1.28 1.51-1.4 2.09s.05 1.4.5 2.44c.78 1.82 2.51 4.07 5.18 6.74s4.98 4.43 6.84 5.18c1.64.65 3.09.34 4.34-.91l1.02-1.02c2.45-2.45 5.37-1.99 8.74 1.39 1.14 1.14 1.75 2.14 1.81 2.99.07.85-.38 1.75-1.34 2.71" />
527                                <path fill="currentColor"
528                                    d="M86.31 0 67.1 10.9c-6.98-5.38-15.48-8.31-24.44-8.33h-.06c-10.72 0-20.8 4.17-28.4 11.74C6.59 21.89 2.39 31.99 2.38 42.73c0 8.99 2.91 17.53 8.31 24.53L0 86.11l18.98-10.76c6.81 4.96 14.97 7.65 23.56 7.66h.06c10.72 0 20.8-4.17 28.4-11.74 7.61-7.58 11.81-17.68 11.82-28.42.01-8.53-2.62-16.66-7.51-23.46zM68.72 68.99c-6.99 6.97-16.26 10.8-26.13 10.8h-.06c-9.88-.01-19.17-3.88-26.15-10.88S5.57 52.61 5.58 42.73s3.88-19.17 10.88-26.15c6.99-6.97 16.26-10.8 26.13-10.8h.05c9.88.01 19.17 3.88 26.15 10.88s10.81 16.3 10.8 26.18-3.88 19.17-10.88 26.15Z" />
529                            </svg>
530                        </a>
531                    </li>
532                </ul>
533            </div>
534            <h4 class="slide-menu-title" >City Links</h4>
535            <ul id="main-menu-links" class="links nav navbar-nav clearfix">
536                <li class="menu-340 first"><a href="http://www.riversideca.gov/" title="City of Riverside Home Page">RiversideCA.gov</a></li>
537                <li class="menu-309"><a href="http://www.engageriverside.com" title="">Engage Riverside</a></li>
538                <li class="menu-342"><a href="http://www.shopriversidenow.com" title="Shop Riverside">Shop Riverside</a></li>
539                <li class="menu-343">
539<a href="http://www.riversidepublicutilities.com" title="RPU Website">Public Utilities</a></li>
540            </ul>
541            <div class="gtranslate_wrapper"></div>
542        </div>
543    </nav>
544
545    <main id="panel">
546        <div class="highlighted-sites hidden-xs ">
547            <div class="container flex between align-items-center">
548                <div class="">
549                    <ul class="links"><li class="menu-340 first"><a href="http://www.riversideca.gov/" title="City of Riverside Home Page">RiversideCA.gov</a></li>
550                        <li class="menu-309"><a href="http://www.engageriverside.com" title="">Engage Riverside</a></li>
551                        <li class="menu-342"><a href="http://www.shopriversidenow.com" title="Shop Riverside">Shop Riverside</a></li>
552                        <li class="menu-343 "><a href="http://www.riversidepublicutilities.com" title="RPU Website">Public Utilities</a></li>
553                    </ul>       
554                </div>
555                <div class="searchTranslate flex align-items-center">
556                    <div class="search-container">
557                        <form class="search-form clearfix" action="https://www.riversideca.gov/search" method="get"
558                            id="searchform" role="search" aria-label="Search site">
559                            <div class="form-wrapper form-group" id="edit-basic">
560                                <input name="t" type="hidden" value="h" />
561                                <input type="hidden" name="form_id" value="search_form" />
562                                <div class="search-group">
563                                    <input type="text" name="addsearch" id="coresearch" class="searchInput"
564                                        placeholder="Search RiversideCA.gov">
565                                    <label for="coresearch" class="sr-only">Search RiversideCA.gov</label>
566
567                                    <button type="submit" class="btn btn-default search-btn" aria-label="Search">
568                                        <i class="fa fa-search"></i>
569                                        <span class="sr-only">Search</span>
570                                    </button>
571                                </div>
572                            </div>
573                        </form>
574
575                    </div>
576
577                    <div class="gt-container marginLeftTen" style="margin-top: 2px; position: relative;">
578                        <div class="gtranslate_wrapper"></div>
579                        
579<script>window.gtranslateSettings = { "default_language": "en", "wrapper_selector": ".gtranslate_wrapper", "alt_flags": { "en": "usa", "es": "mexico" } }</script>
579
580                        
580<script src="https://cdn.gtranslate.net/widgets/latest/popup.js" defer></script>
580
581                    </div>
582                </div>
583            </div>
584        </div>
585
586        <div class="departmentbar">riversideca.gov</div>
587
588        
589        <!-- <div class="emergencyBar" style="padding: 0 !important; margin-bottom: 0 !important;text-align: center;background-color: #cc0000;">
590            <a href="https://riversideca.gov/press/bain-fire-information-riverside-residents" style="font-weight: 600;padding: 14px 14px 14px 14px;line-height: 20px; text-decoration: underline; display: block;color: white;font-size: 16px; letter-spacing: 2px;">City of Riverside Residents: Bain Fire Evacuation Updates</a>  
591        </div>  -->
592
593        <div id="header-banner" class="hidden-xs">
594            <div class="container flex between">
595                <a class="name navbar-brand hidden-xs" href="/" title="City of Riverside home"><img src="/images/corweb-homepage/cor-logo.jpg" class="main-logo" alt="City of Riverside Logo" width="100" height="102"></a>
596                            
597                <div class="socialm" >
598                    <a href="https://riversideca.gov/calendar" class="minilink">
599                        <i class="fa fa-calendar" aria-hidden="true"></i> &nbsp;&nbsp;Community Calendar
600                    </a> |
601                    <a href="https://riversideca.legistar.com/Calendar.aspx" class="minilink">
602                        <i class="fa fa-users" aria-hidden="true"></i> &nbsp;&nbsp;Government Meetings
603                    </a>
604                    <a class="sociali" href="https://www.facebook.com/CityofRiverside" target="_blank"
605                        aria-label="Facebook">
606                        <i class="fa fa-facebook fa" aria-hidden="true"></i>
607                    </a>
608                    <a class="sociali" href="http://instagram.com/cityofriverside" target="_blank" aria-label="Instagram">
609                        <i class="fa fa-instagram fa" aria-hidden="true"></i>
610                    </a>
611                    <a class="sociali" href="https://twitter.com/riversidecagov" target="_blank" aria-label="Twitter">
612                        <i class="fa-brands fa-square-x-twitter" aria-hidden="true"></i>
613                    </a>
614                    <a class="sociali" href="http://www.youtube.com/cityofriverside" target="_blank" aria-label="YouTube">
615                        <i class="fa fa-youtube fa" aria-hidden="true"></i>
616                    </a>
617                    <a class="sociali" href="https://member.everbridge.net/index/453003085614598" target="_blank"
618                        aria-label="Riverside Alerts">
619                     <svg class="svg-inline--fa" aria-hidden="true"
620     height="20" 
621     preserveAspectRatio="xMidYMid meet"
622     viewBox="0 0 86.31 86.11"
623     xmlns="http://www.w3.org/2000/svg">
624  <path fill="currentColor"
625    d="M42.53 9.95c-18.06 0-32.68 14.64-32.68 32.69s14.64 32.69 32.69 32.69 32.68-14.64 32.68-32.69S60.59 9.95 42.53 9.95m-2.1 16.88c.2-.22.46-.34.76-.35 7.78-.22 14.56 5.5 15.68 13.16.04.29-.03.58-.22.81-.19.24-.47.38-.77.41l-.97.09h-.1c-.56 0-1.05-.43-1.14-1a12.134 12.134 0 0 0-12.03-10.27h-.2c-.63 0-1.14-.46-1.19-1.05l-.09-.97c-.03-.3.07-.61.27-.83m8.88 14.6c-.55 0-1.04-.41-1.16-.98a6.69 6.69 0 0 0-6.24-5.24c-.62-.03-1.13-.49-1.18-1.07l-.11-1.32c-.03-.31.07-.61.28-.84.2-.22.46-.33.75-.33 4.96 0 9.19 3.55 10.05 8.43.05.28-.02.57-.2.8-.19.24-.47.39-.78.42l-1.32.12h-.1.01Zm7.98 16.77-.78.78c-1.66 1.66-4.26 3.01-7.81 4.06-2.72-1.15-5.44-2.68-8.16-4.6-2.71-1.92-5.42-4.24-8.12-6.94-2.74-2.74-5.08-5.48-7.04-8.23s-3.52-5.5-4.7-8.27h.01c.88-3.4 2.18-5.98 3.91-7.71l.66-.67c1.06-1.06 2.03-1.57 2.92-1.53.88.05 1.91.66 3.08 1.83 3.33 3.34 3.8 6.2 1.41 8.6l-1.07 1.07c-.81.81-1.28 1.51-1.4 2.09s.05 1.4.5 2.44c.78 1.82 2.51 4.07 5.18 6.74s4.98 4.43 6.84 5.18c1.64.65 3.09.34 4.34-.91l1.02-1.02c2.45-2.45 5.37-1.99 8.74 1.39 1.14 1.14 1.75 2.14 1.81 2.99.07.85-.38 1.75-1.34 2.71" />
626  <path fill="currentColor"
627    d="M86.31 0 67.1 10.9c-6.98-5.38-15.48-8.31-24.44-8.33h-.06c-10.72 0-20.8 4.17-28.4 11.74C6.59 21.89 2.39 31.99 2.38 42.73c0 8.99 2.91 17.53 8.31 24.53L0 86.11l18.98-10.76c6.81 4.96 14.97 7.65 23.56 7.66h.06c10.72 0 20.8-4.17 28.4-11.74 7.61-7.58 11.81-17.68 11.82-28.42.01-8.53-2.62-16.66-7.51-23.46zM68.72 68.99c-6.99 6.97-16.26 10.8-26.13 10.8h-.06c-9.88-.01-19.17-3.88-26.15-10.88S5.57 52.61 5.58 42.73s3.88-19.17 10.88-26.15c6.99-6.97 16.26-10.8 26.13-10.8h.05c9.88.01 19.17 3.88 26.15 10.88s10.81 16.3 10.8 26.18-3.88 19.17-10.88 26.15Z" />
628</svg>
629
630                    </a>
631                </div>
632            </div>
633        </div>
634
635        <div id="navigation" role="banner" class="navbar container navbar-default">
636            <div class="navbar-header">
637                <button id="nav-expander" class="nav-expander navbar-toggle visible-xs fixed"
638                    aria-label="Toggle mobile navigation menu">
639                    <i class="fa-solid fa-bars fa-2x"></i>
640                </button>
641            </div>
642            <div class="container">
643                <div class="navbar-collapse collapse">
644                    <div role="navigation">
645                        <div class="hidden-xs">
646                            <ul id="main-menu-links" class="menu nav navbar-nav clearfix">
647                                <li class="menu-575"><a href="/about-riverside" class="">About Riverside</a></li>
648                                <li class="menu-575"><a href="/residents" class="">Residents</a></li>
649                                <li class="menu-576"><a href="/government">Government</a></li>
650                                <li class="menu-577"><a href="/business">Business</a></li>
651                                <li class="menu-578"><a href="/services">Services</a></li>
652                                <li class="menu-579"><a href="/media">Media</a></li>
653                                <li class="menu-602"><a href="/connect">Connect</a></li>
654                                <li class="menu-580 last"><a href="/jobs" title="Riverside City Jobs">Jobs</a></li>
655                            </ul>       
656                        </div>
657                        <ul id="main-menu-links" class="links visible-xs nav navbar-nav clearfix"><li class="menu-340 first"><a href="http://www.riversideca.gov/" title="City of Riverside Home Page">RiversideCA.gov</a></li>
658                            <li class="menu-309"><a href="http://www.engageriverside.com" title="">Engage Riverside</a></li>
659                            <li class="menu-342"><a href="http://www.shopriversidenow.com" title="Shop Riverside">Shop Riverside</a></li>
660                            <li class="menu-343 last">
660<a href="http://www.riversidepublicutilities.com" title="RPU Website">Public Utilities</a></li>
661                        </ul>         
662                    </div>
663                </div>
664            </div>
665        </div>
666
667
668<style>
669
670figure.pressCard .date, figure.pressCard i, figure.pressCard .date .month {
671	background-color: #fff;
672}
673figure.pressCard {
674	max-width: 310px;
675	height: 473px;
676	background-color: #fff;
677
678}
679figure.pressCard img {
680	height: auto;
681}
682figure.pressCard h4 {
683	font-size: 18px;
684}
685figcaption{
686	margin-top: 53px;
687}
688
689.calendarTitle {
690	font-size: 16px;
691	color:#002856;
692	font-weight:500;
693}
694.card .card-content p {
695	font-size: 14px;
696	color:gray !important
697}
698.card .date .day {
699	font-size: 25px;
700}
701.calendar-post {
702	height: 144px;
703}
704.reviews{
705	margin-top: 28px;
706}
707.reviews div{
708	display: inline-block;
709	positon: absolute;
710	left: 260px;
711	/*//left: 156px;*/
712}
713.socials div{
714	display: inline-block;
715}
716.hexQuickLinkRow i{
717	color: white;
718	font-size: 50px;
719	line-height: 60px;
720	text-shadow: 2px 2px 10px black;
721}
722
723.hexQuickLinkRow #hexagon {
724	width: 100px;
725	height: 60px;
726	background: #002856;
727	position: relative;
728	text-align: center;
729	-webkit-transition: all 0.3s ease-in-out;
730	-moz-transition: all 0.3s ease-in-out;
731	-ms-transition: all 0.3s ease-in-out;
732	-o-transition: all 0.3s ease-in-out;
733	transition: all 0.3s ease-in-out;
734	margin-top: 48px;
735	margin-right: 15px;
736}
737
738.hexQuickLinkRow #hexagon p{
739	padding-top:30px;
740	font-weight: 600;
741}
742
743
744.hexQuickLinkRow #hexagon:before {
745	content: "";
746	position: absolute;
747	top: -25px;
748	left: 0;
749	width: 0;
750	height: 0;
751	border-left: 50px solid transparent;
752	border-right: 50px solid transparent;
753	border-bottom: 25px solid #002856;
754	-webkit-transition: all 0.3s ease-in-out;
755	-moz-transition: all 0.3s ease-in-out;
756	-ms-transition: all 0.3s ease-in-out;
757	-o-transition: all 0.3s ease-in-out;
758	transition: all 0.3s ease-in-out;
759}
760.hexQuickLinkRow #hexagon:after {
761	content: "";
762	position: absolute;
763	bottom: -24px;
764	left: 0;
765	width: 0;
766	height: 0;
767	border-left: 50px solid transparent;
768	border-right: 50px solid transparent;
769	border-top: 25px solid #002856;
770	-webkit-transition: all 0.3s ease-in-out;
771	-moz-transition: all 0.3s ease-in-out;
772	-ms-transition: all 0.3s ease-in-out;
773	-o-transition: all 0.3s ease-in-out;
774	transition: all 0.3s ease-in-out;
775}
776
777.hexQuickLinkRow #hexagon:hover{
778	background: #ecaa00;
779}
780.hexQuickLinkRow #hexagon p:hover{
781	color: #002856;
782}
783
784.hexQuickLinkRow #hexagon:hover:after{
785	border-top: 25px solid #ecaa00;
786}
787.hexQuickLinkRow #hexagon:hover:before{
788	border-bottom: 25px solid #ecaa00;
789}
790figure.pressCard {
791	max-width: 310px;
792	height: 473px;
793}
794figure.pressCard img {
795	height: 225px;
796}
797figure.pressCard h4 {
798	font-size: 18px;
799}
800figcaption{
801	margin-top: 53px;
802}
803.calendarTitle {
804	font-size: 16px;
805	font-weight:bold;
806}
807.card .card-content p {
808	font-size: 14px;
809}
810.card .date .day {
811	font-size: 25px;
812}
813.calendar-post {
814	height: 144px;
815}
816
817.row{
818	margin-right:auto;
819	margin-left:auto;
820}
821.hexQuickLinkRow{
822	margin-bottom:30px;
823	margin-top:33px;
824}
825.main-container, .wide-container {
826	padding-top: 20px;
827	padding-bottom: 50px;
828}
829.hexDropDown:hover {
830	cursor:pointer;
831	text-decoration: none;
832}
833.hexDropDown .home-link p{
834	color: #002856;
835}
836.calendarDates{
837	width: 70%;
838}
839.hexDropRow{
840	margin-bottom:30px;
841	margin-top:50px;
842}
843.socialRow{
844	margin-bottom:30px;
845	margin-top:20px;
846}
847.textDecorationNone{
848	text-decoration:none;
849	color:none;
850}
851.quckLinkHexHome{
852	color:#6a6a6a;
853	text-decoration: none;
854}
855.quckLinkHexHome:hover {
856	color: #002856;
857	text-decoration: none;
858}
859.crt-panel-arrow{
860	display: none !important;
861}
862@media screen and (max-width: 1600px) and (min-width: 1200px) {
863	figure.pressCard {
864		max-width: 247px;
865	}
866	figure.pressCard img {
867		height: 200px;
868	}	
869
870}
871@media (max-width: 700px){
872	figure.pressCard {
873		left: 0%;
874	}
875	figure.pressCard {
876		margin-right: auto;
877		margin-left: auto;
878		float: inherit;
879	}
880	.hexQuickLinkRow #hexagon:before {
881		top: -24px;
882	}
883	.hexQuickLinkRow #hexagon {
884		height: 60px;
885		margin-top: 49px;
886	}
887}
888@media (max-width: 767px){
889	.region-slider {
890		margin-right: 0px;
891	}
892	.main-container, .wide-container {
893		margin-top: 20px;
894	}
895}
896
897.red #hexagon:before {
898	content: "";
899	position: absolute;
900	top: -25px;
901	left: 0;
902	width: 0;
903	height: 0;
904	border-left: 50px solid transparent;
905	border-right: 50px solid transparent;
906	border-bottom: 25px solid #a00a08;
907	-webkit-transition: all 0.3s ease-in-out;
908	-moz-transition: all 0.3s ease-in-out;
909	-ms-transition: all 0.3s ease-in-out;
910	-o-transition: all 0.3s ease-in-out;
911	transition: all 0.3s ease-in-out;
912}
913.red #hexagon:after {
914	content: "";
915	position: absolute;
916	bottom: -24px;
917	left: 0;
918	width: 0;
919	height: 0;
920	border-left: 50px solid transparent;
921	border-right: 50px solid transparent;
922	border-top: 25px solid #a00a08;
923	-webkit-transition: all 0.3s ease-in-out;
924	-moz-transition: all 0.3s ease-in-out;
925	-ms-transition: all 0.3s ease-in-out;
926	-o-transition: all 0.3s ease-in-out;
927	transition: all 0.3s ease-in-out;
928}
929.red #hexagon{
930	background: #a00a08;
931}
932
933</style>   
934<style>
935
936
937.hexQuickLinkRow #hexagon:before {
938	top: -24px !important;
939}
940@media only screen and (max-width: 600px) {
941
942#homepage-slider {
943	margin-top: 80px;
944	
945}
946}
947
948.hexQuickLinkRow #hexagon {
949width: 100px;
950    height: 60px;
951    background: #002856;
952    position: relative;
953    text-align: center;
954    -webkit-transition: all 0.3s ease-in-out;
955    -moz-transition: all 0.3s ease-in-out;
956    -ms-transition: all 0.3s ease-in-out;
957    -o-transition: all 0.3s ease-in-out;
958    transition: all 0.3s ease-in-out;
959    margin-top: 48px;
960    margin-right: 15px;
961}
962
963
964.hexQuickLinkRow #hexagon .svg-inline--fa{
965width: 50px !important;
966height: 50px !important;
967padding-top: 5px;
968color: #fff !important;
969}
970
971/*
972.hexQuickLinkRow #hexagon2 {
973width: 100px;
974    height: 60px;
975    background: #ecaa00;
976    position: relative;
977    text-align: center;
978    -webkit-transition: all 0.3s ease-in-out;
979    -moz-transition: all 0.3s ease-in-out;
980    -ms-transition: all 0.3s ease-in-out;
981    -o-transition: all 0.3s ease-in-out;
982    transition: all 0.3s ease-in-out;
983    margin-top: 48px;
984    margin-right: 15px;
985}
986
987.hexQuickLinkRow #hexagon2 .svg-inline--fa{
988width: 50px !important;
989height: 50px !important;
990padding-top: 5px;
991color: #fff !important;
992}
993
994*/
995
996
997.yellow #hexagon:before {
998	content: "";
999	position: absolute;
1000	top: -25px;
1001	left: 0;
1002	width: 0;
1003	height: 0;
1004	border-left: 50px solid transparent;
1005	border-right: 50px solid transparent;
1006	border-bottom: 25px solid #ecaa00;
1007	-webkit-transition: all 0.3s ease-in-out;
1008	-moz-transition: all 0.3s ease-in-out;
1009	-ms-transition: all 0.3s ease-in-out;
1010	-o-transition: all 0.3s ease-in-out;
1011	transition: all 0.3s ease-in-out;
1012}
1013.yellow #hexagon:after {
1014	content: "";
1015	position: absolute;
1016	bottom: -24px;
1017	left: 0;
1018	width: 0;
1019	height: 0;
1020	border-left: 50px solid transparent;
1021	border-right: 50px solid transparent;
1022	border-top: 25px solid #ecaa00;
1023	-webkit-transition: all 0.3s ease-in-out;
1024	-moz-transition: all 0.3s ease-in-out;
1025	-ms-transition: all 0.3s ease-in-out;
1026	-o-transition: all 0.3s ease-in-out;
1027	transition: all 0.3s ease-in-out;
1028}
1029.yellow #hexagon{
1030	background: #ecaa00;
1031}
1032
1033[data-acsb="trigger"],
1034.acsb-trigger,
1035#acsb-trigger {
1036  left: auto !important;
1037  right: 20px !important;
1038  bottom: 20px !important;
1039}
1040
1041</style>
1042
1043
1044<div class="page-wrap region region-slider">
1045	<div class="row" id="homepage-slider" style="background-image: url('https://riversideca.gov/fire/sites/all/themes/city_of_riverside/images/riverside-plaza-bg.jpg'); background-size: cover;">
1046		<div class="container">
1047			<div class="carousel fade-carousel slide" data-ride="carousel" data-interval="4000" id="bs-carousel">
1048				<!-- Overlay -->
1049				<!--<div class="overlay"></div>-->
1050
1051				<!-- Indicators -->
1052				<ol class="carousel-indicators">
1053					<!-- <li data-target="#bs-carousel" data-slide-to="0" class="active"></li>
1054					<li data-target="#bs-carousel" data-slide-to="1"></li>
1055					<li data-target="#bs-carousel" data-slide-to="2"></li>
1056					<li data-target="#bs-carousel" data-slide-to="3"></li> -->
1057					<!-- <li data-target="#bs-carousel" data-slide-to="4"></li> -->
1058                    <!-- <li data-target="#bs-carousel" data-slide-to="5"></li> -->
1059				</ol>
1060                <!-- Wrapper for slides -->
1061
1062                <div class="carousel-inner">
1063                    
1064                </div>
1065                
1065<script>
1066    /*
1067    {
1068        a : "",
1069        src: "", //311 page, if not for 311 use false
1070        web: "",  //web page, if not for web use false
1071        alt: "",
1072        start: "", // optional; 3/01/2026 starts on/after this date
1073        end: "" // 3/24/2026 ends after this date
1074    },
1075
1076    */
1077    let data = [
1078        {
1079            a: "https://riversideca.gov/cdbg/",
1080            src: "https://riversideca.gov/lobby-tv/img/Sliders/RPU_Webslider_City_TV.jpg?v=2",
1081            web: false,
1082            alt: "Riverside Public Utilities",
1083            end: ""
1084        },
1085        
1086        {
1087            a : "https://riversideca.gov/publicworks/trash-recycling/clean-riverside",
1088            src: "https://riversideca.gov/webslider-img/2026/Clean-Up-Riverside_Textiles-and-EWaste-Event_Sep-19_Webslider_TV311.jpg", //311 page, if not for 311 use false
1089            web: "https://riversideca.gov/webslider-img/2026/Clean-Up-Riverside_Textiles-and-EWaste-Event_Sep-19_Webslider_.jpg",  //web page, if not for web use false
1090            alt: "E-waste collection 9/19",
1091            end: "9/19/2026" // 3/24/2026 ends after this date
1092        },
1093        {
1094            a : "https://riversideca.gov/calendar/event/riverside-college-and-career-fair-2026?date=Thursday%2C%20September%2024%2C%202026",
1095            src: "https://riversideca.gov/webslider-img/2026/Riverside-College-and-Career-Fair-2026_TV-Lobby-Webslider.jpg", //311 page, if not for 311 use false
1096            web: "https://riversideca.gov/webslider-img/2026/Riverside-College-and-Career-Fair-2026_Webslider.jpg",  //web page, if not for web use false
1097            alt: "",
1098            end: "9/24/2026" // 3/24/2026 ends after this date
1099        },
1100        {
1101            a: "https://riversideca.gov/cdbg",
1102            src: "https://riversideca.gov/webslider-img/2026/CDBG-Meetings-Webslider_City_TV311.jpg",
1103            web: "https://riversideca.gov/webslider-img/2026/CDBG-Meetings-Webslider_City_Web.jpg",
1104            alt: "Hud Annual Action Plan 27/28",
1105            start: "09/23/2026",
1106            end: "10/29/2026"
1107        },
1108        {
1109            a : "https://riversidetv.com/Local-Sports",
1110            src: "https://riversideca.gov/webslider-img/2026/RiversideTV-Sports_TV-Webslide-V1.jpg", //311 page, if not for 311 use false
1111            web: "https://riversideca.gov/webslider-img/2026/RiversideTV-Sports_Webslider.jpg",  //web page, if not for web use false
1112            alt: "Local Sports Football",
1113            end: "" //ends after this date
1114        },
1115        
1116        {
1117            a : "https://riversideca.gov/explore",
1118            src: "https://riversideca.gov/webslider-img/2026/Explore-Riverside-Fall-2026_Webslider_311TV.jpg", //311 page, if not for 311 use false
1119            web: "https://riversideca.gov/webslider-img/2026/Explore-Riverside-Fall-2026_Webslider_Web.jpg",  //web page, if not for web use false
1120            alt: "Explore fall 2026",
1121            end: "10/5/2026" //ends after this date
1122        },
1123        // {
1124        //     a : "https://riversideca.gov/SlowDown",
1125        //     src: "https://riversideca.gov/webslider-img/2026/Slow Down_Webslider_TV311.jpg", //311 page, if not for 311 use false
1126        //     web: "https://riversideca.gov/webslider-img/2026/Slow Down_Webslider_Web.jpg",  //web page, if not for web use false
1127        //     alt: "Slow Down Save Lives Web slider",
1128        //     start: "",
1129        //     end: "10/5/2026" //ends after this date
1130        // },
1131        {
1132            a : "https://riversideca.gov/sustainability/ycaf",
1133            src: "https://riversideca.gov/webslider-img/2026/OOS-Youth-Climate-Action-Fund-Webslider_TV311.jpg", //311 page, if not for 311 use false
1134            web: "https://riversideca.gov/webslider-img/2026/OOS-Youth-Climate-Action-Fund-Webslider_Mainpage.jpg",  //web page, if not for web use false
1135            alt: "Youth Climate Action Fund",
1136            end: "9/25/2026" //ends after this date
1137        },
1138        {
1139            a : "https://riversideca.gov/calendar",
1140            src: "https://riversideca.gov/webslider-img/2026/America-250-TV_Explore.jpg", //311 page, if not for 311 use false
1141            web: false,  //web page, if not for web use false
1142            alt: "Explore whats happening in Riverside",
1143            end: "" //ends after this date
1144        },
1145    ];
1146
1147    function normalize(dateStr) {
1148        const ex = /^(0?[1-9]|1[0-2])[\/-](0?[1-9]|[12][0-9]|3[01])[\/-](\d{2}|\d{4})$/;
1149        let date = null;
1150        let m = ex.exec(dateStr);
1151        if (m) {
1152            const mon = Number( m[1] );
1153            const day = Number( m[2] );
1154            let year = m[3];
1155            if ( year.length == 2) {
1156                year = new Date().getFullYear().toString().slice(0, 2) + year;
1157            }
1158            date = new Date( Number( year ), mon - 1, day );
1159        }
1160        return date;
1161    }
1162
1163    function startOfToday() {
1164        const d = new Date();
1165        d.setHours(0, 0, 0, 0);
1166        return d;
1167    }
1168
1169    function hasStarted(startDate) {
1170        const sod = startOfToday();
1171        if (!startDate) return true;
1172        return startDate <= sod;
1173    }
1174
1175    function isPast(endDate) {
1176        const eod = startOfToday();
1177        if (!endDate) return false;
1178        return endDate < eod;
1179    }
1180    
1181    // show items when start date is today/past and end date is today/future
1182    const DATA = data.filter(item => {
1183        const start = normalize(item.start);
1184        const end = normalize(item.end);
1185        return hasStarted(start) && !isPast(end);
1186    });
1187</script>
1187
1188                
1188<script>
1189                    
1190                    var slide = document.querySelector(".carousel-inner");
1191
1192                    let first = true;
1193                    let str = '';
1194                    let i = 0;
1195                    DATA.forEach( item => {
1196                        if( item.web !== false ){
1197                            str += '<div class="item slides ';
1198                            if( first ) { str += 'active">'; }
1199                            else{ str += '">'; }
1200
1201                            const lazyAttrs = first ? '' : ' loading="lazy" decoding="async"';
1202                            first = false;
1203                            str += `<a href="${item.a}" target="_blank" rel="noopener noreferrer" aria-label="${item.alt}">`;
1204                            str += `<img class="img-responsive" src="${item.web}" alt="${item.alt}" width="1200" height="400"${lazyAttrs}>`
1205                            str += "</a></div>";
1206                            i++;
1207                        }
1208                    } );
1209                    // console.log( str );
1210
1211                    let indictator = document.querySelector( '.carousel-indicators' );
1212                    let s = '';
1213                    for( let j = 0; j < i; j++ ){
1214                        s+= `<li data-target="#bs-carousel" data-slide-to="${j}" class="${j == 0 ? 'active' : ''}" role="button" tabindex="0" aria-label="Go to slide ${j + 1}"></li>`
1215                    }
1216                    indictator.innerHTML = s;
1217                    slide.innerHTML = str;
1218
1219                </script>
1219
1220            </div>
1221        </div>
1222    </div>
1223</div>   
1224
1225<div class="col-sm-10 col-sm-offset-1" style="margin-top: 25px;">
1226	<h1 class="text-center">Welcome to the City of Riverside</h1>
1227</div>
1228
1229<div class="row hexQuickLinkRow" style="margin-top: 25px;">
1230	<div class="col-sm-12 col-md-10 col-md-offset-1 text-center">
1231		<div class="socials col-sm-12">
1232			
1233			<a class="quckLinkHexHome yellow" href="https://www.riversideca.gov/readyriverside">
1234				<div id="hexagon"> <i class="fa fa-exclamation-triangle" aria-hidden="true"></i>					<p>Ready Riverside</p>
1235				</div>
1236			</a>
1237
1238			<a class="quckLinkHexHome" href="https://www.riversideca.gov/311">
1239				<div id="hexagon"> <i class="fa fa-info-circle" aria-hidden="true"></i>					<p>311 Non-Emergency</p>
1240				</div>
1241			</a>
1242			<a class="quckLinkHexHome" href="https://riversideca.gov/awards">
1243				<div id="hexagon"><i class="fa fa-trophy" aria-hidden="true"></i>
1244					<p>City<br>Awards</p>
1245				</div>
1246			</a>
1247			<a class="quckLinkHexHome" href="https://riversideca.gov/jobs">
1248				<div id="hexagon"><i class="fa fa-briefcase" aria-hidden="true"></i>
1249					<p>Job<br>Opportunities</p>
1250				</div>
1251			</a>
1252			<a class="quckLinkHexHome" href="https://www.riversideca.gov/cityclerk/government-meetings">
1253				<div id="hexagon"><i class="fa fa-users" aria-hidden="true"></i>
1254					<p>Government Meetings</p>
1255				</div>
1256			</a>
1257			<a class="quckLinkHexHome" href="https://billpay.riversideca.gov/iwr/user/login.seam">
1258
1259				<div id="hexagon"><i class="fa fa-tint" aria-hidden="true"></i>
1260					<p>Pay Your Utility Bill</p>
1261				</div>
1262			</a>
1263
1264			<a class="quckLinkHexHome" href="https://riversideca.gov/utilities/power-outage-information">
1265
1266				<div id="hexagon"><i class="fa fa-bolt" aria-hidden="true"></i>
1267					<p>Utility Outages</p>
1268				</div>
1269			</a>
1270
1271            <!-- <a href="/vote" class="quckLinkHexHome">
1272                <div id="hexagon"><i class="fa-solid fa-check-to-slot" aria-hidden="true"></i>
1273                    <p>June 2 Ballot Information</p>
1274                </div>
1275            </a> -->
1276			
1277	
1278		</div>
1279	</div>
1280</div>
1281
1282
1283<div class="row homepage-press-section" style="background-color:#ecf0f1;">
1284	
1285	<div class="wide-container container homepage-press-title-wrap">
1286		<h2 class="text-center riversideHeader">What's Happening in Riverside</h2>
1287	</div>
1288
1289	<div class="homepage-press-bleed">
1290		<div class="wide-container container">
1291			<div class="col-sm-12 col-md-12 col-lg-8 col-lg-offset-2">
1292				<div class="view view-media-press-release view-id-media_press_release view-display-id-page_7 view-dom-id-1fe389da951f9da358e859a0838e3979">
1293					<div class="view-content">
1294						<div class="views-responsive-grid views-responsive-grid-horizontal views-columns-3">
1295							<div class="views-row-1">
1296								
1297								<div class="views-column-1 is-fallback" id="homepage-press-cards" aria-busy="true" aria-live="polite">
1298                                    <div class="views-field views-field-field-press-release-department">        
1299                                        <div class="field-content">
1300                                            <div class="">
1301<!-- fallback fig 1 (replaced by latest /media cards when JS loads) -->
1302<figure class="pressCard card-1"><a href="https://riversideca.gov/press/riverside-public-utilities-power-customers-benefit-greater-efficiency-improved-resiliency" aria-label="Riverside Public Utilities Power Customers to Benefit From Greater Efficiency, Improved Resiliency"><img typeof="foaf:Image" class="img-responsive" src="https://riversideca.gov/sites/default/files/styles/medium/public/press/img/ADED_Logo_.png?itok=9wl9lFZ8" width="220" height="147" alt="All Day Every Day RPU" loading="lazy" decoding="async"></a>  
1303              <div class="date">
1304              <span class="day">25</span>
1305              <span class="month">June</span></div>
1306    <figcaption>
1307      <h4 class="departmentCard">RPU</h4>
1308      <h4><p>Riverside Public Utilities Power Customers to Benefit From Greater Efficiency, Improved Resiliency</p></h4>
1309    </figcaption>
1310  </figure>
1311                                            </div>
1312                                        </div>
1313                                    </div>
1314
1315									<div class="views-field views-field-field-press-release-department">        
1316										<div class="field-content">
1317											<div class="">
1318<!-- fallback fig 2 -->
1319<figure class="pressCard card-1"><a href="https://riversideca.gov/press/fireworks-are-illegal-city-riverside-0" aria-label="Fireworks Are Illegal in the City of Riverside"><img typeof="foaf:Image" class="img-responsive" src="https://riversideca.gov/sites/default/files/styles/medium/public/press/img/Booms%20Burn%20Riverside_MediaCard.jpg?itok=qZoil22B" width="220" height="160" alt="All Fireworks are Illegal Booms Burns Riverside" loading="lazy" decoding="async"></a>  
1320              <div class="date">
1321              <span class="day">11</span>
1322              <span class="month">June</span></div>
1323    <figcaption>
1324      <h4 class="departmentCard">Fire</h4>
1325      <h4><p>Fireworks Are Illegal in the City of Riverside</p></h4>
1326    </figcaption>
1327  </figure>						
1328                                            </div> 		
1329                                        </div>
1330                                    </div>
1331                                    <div class="views-field views-field-field-press-release-department">        
1332                                        <div class="field-content">
1333                                            <div class="">
1334<!-- fallback fig 3 -->
1335<figure class="pressCard card-1"><a href="https://riversideca.gov/press/city-riverside%E2%80%99s-sustainability-leadership-continues-attract-national-investment-and" aria-label="City of Riverside’s Sustainability Leadership Continues to Attract National Investment and Recognition"><img typeof="foaf:Image" class="img-responsive" src="https://riversideca.gov/sites/default/files/styles/medium/public/press/img/BP_Social_YouthClimateActionFund_Background-Badge2.jpg?itok=fwv_XNTZ" width="220" height="92" alt="Youth Climate Action Fund" loading="lazy" decoding="async"></a>  
1336              <div class="date">
1337              <span class="day">21</span>
1338              <span class="month">May</span></div>
1339    <figcaption>
1340      <h4 class="departmentCard">Citywide</h4>
1341      <h4><p>City of Riverside’s Sustainability Leadership Continues to Attract National Investment and Recognition</p></h4>
1342    </figcaption>
1343  </figure>
1344                                            </div>
1345                                        </div> 			
1346                                    </div> 	
1347                                </div>
1348                            </div>
1349                        </div>
1350
1351                        <div class="clearfix" style="clear:both;"></div>
1352                        <div class="center-block homepage-press-cta">
1353                            <a href="/media" class="btn btn-hero2 btn-lg btn-block">View All Media</a>
1354                        </div>
1355                    </div>
1356                </div>
1357
1358<style>
1359/*
1360  Homepage press carousel layout. Keeps figure.pressCard / h4 caption structure
1361  so existing pressCard CSS (padding, date badge) still applies.
1362  Scoped overrides neutralize site float / fixed-height / min-width rules that
1363  break horizontal swipe on phones.
1364
1365  Mobile full-bleed (see @media max-width:767px):
1366  - Title stays in .homepage-press-title-wrap (.container padding intact).
1367  - .homepage-press-bleed uses width:100vw + margin-left:calc(50% - 50vw)
1368    so nesting depth / unknown gutters cannot leave side margins.
1369  - Inner .container / [class*="col-"] padding zeroed on that bleed path only.
1370  - Section overflow-x clips any 100vw scrollbar-gap so the page does not scroll.
1371  - Press cards use normal-flow captions (padding-top:0) so department + title
1372    stay visible under the image; site 188px h4 padding trick is desktop-only.
1373  - Critical: main.css sets figure.pressCard > a { position:absolute; inset:0 }.
1374    With height:auto that pulls the image out of flow, the figure collapses to
1375    the caption box, and the img paints over department/title. Mobile must
1376    force the image link back into normal flow.
1377*/
1378#homepage-press-cards {
1379  max-width: 100%;
1380  box-sizing: border-box;
1381}
1382.homepage-press-carousel {
1383  position: relative;
1384  display: flex;
1385  align-items: stretch;
1386  gap: 6px;
1387  width: 100%;
1388  max-width: 100%;
1389  margin: 0 auto 8px;
1390  box-sizing: border-box;
1391}
1392.homepage-press-track {
1393  display: flex;
1394  flex: 1 1 auto;
1395  min-width: 0;
1396  max-width: 100%;
1397  overflow-x: auto;
1398  overflow-y: hidden;
1399  scroll-snap-type: x mandatory;
1400  -webkit-overflow-scrolling: touch;
1401  overscroll-behavior-x: contain;
1402  touch-action: pan-x pinch-zoom;
1403  scroll-behavior: smooth;
1404  /* Desktop: exact 3-up — 2 gaps between 3 slides; no peek of card 4 */
1405  gap: 12px;
1406  padding: 4px 0 12px;
1407  outline: none;
1408  box-sizing: border-box;
1409  scrollbar-width: thin;
1410}
1411.homepage-press-track:focus {
1412  box-shadow: 0 0 0 3px #ecaa00;
1413}
1414.homepage-press-track:focus:not(:focus-visible) {
1415  box-shadow: none;
1416}
1417.homepage-press-track:focus-visible {
1418  box-shadow: 0 0 0 3px #ecaa00;
1419}
1420.homepage-press-slide {
1421  /* (100% - 2×12px gap) / 3 — three cards fill the track with no 4th-card peek */
1422  flex: 0 0 calc((100% - 24px) / 3);
1423  max-width: calc((100% - 24px) / 3);
1424  scroll-snap-align: start;
1425  scroll-snap-stop: normal;
1426  box-sizing: border-box;
1427  padding: 0;
1428  min-width: 0;
1429}
1430.homepage-press-slide .views-field,
1431.homepage-press-slide .field-content,
1432.homepage-press-slide .field-content > div {
1433  height: auto;
1434  max-width: 100%;
1435}
1436.homepage-press-slide figure.pressCard {
1437  float: none !important;
1438  display: block;
1439  position: relative;
1440  margin: 10px auto;
1441  width: 100%;
1442  max-width: 310px;
1443  min-width: 0 !important; /* site CSS uses min-width:220px */
1444  left: auto !important;
1445  box-sizing: border-box;
1446}
1447.homepage-press-slide figure.pressCard img {
1448  display: block;
1449  width: 100%;
1450  max-width: 100%;
1451  height: auto;
1452}
1453/* Full-card click overlay used by JS render; harmless if absent on fallbacks */
1454.homepage-press-slide figure.pressCard > a.pressCard-hitarea,
1455#homepage-press-cards figure.pressCard > a.pressCard-hitarea {
1456  position: absolute;
1457  left: 0;
1458  right: 0;
1459  top: 0;
1460  bottom: 0;
1461  z-index: 1;
1462  background: transparent;
1463}
1464.homepage-press-btn {
1465  flex: 0 0 auto;
1466  align-self: center;
1467  width: 44px;
1468  height: 44px;
1469  min-width: 44px;
1470  min-height: 44px;
1471  padding: 0;
1472  border: 2px solid #002856;
1473  border-radius: 4px;
1474  background: #fff;
1475  color: #002856;
1476  font-size: 28px;
1477  line-height: 1;
1478  cursor: pointer;
1479  z-index: 2;
1480  -webkit-tap-highlight-color: transparent;
1481  touch-action: manipulation;
1482}
1483.homepage-press-btn:hover,
1484.homepage-press-btn:focus {
1485  background: #002856;
1486  color: #fff;
1487  outline: none;
1488}
1489.homepage-press-btn:focus-visible {
1490  outline: 3px solid #ecaa00;
1491  outline-offset: 2px;
1492}
1493.homepage-press-btn:disabled {
1494  opacity: 0.35;
1495  cursor: not-allowed;
1496  background: #fff;
1497  color: #002856;
1498}
1499.homepage-press-btn span {
1500  display: block;
1501  transform: translateY(-1px);
1502}
1503/* Fallback (no JS): keep three static cards readable in a row */
1504#homepage-press-cards.is-fallback {
1505  display: flex;
1506  flex-wrap: wrap;
1507  justify-content: center;
1508  max-width: 100%;
1509}
1510#homepage-press-cards.is-fallback .views-field {
1511  flex: 0 1 310px;
1512  max-width: 100%;
1513}
1514#homepage-press-cards.is-fallback figure.pressCard {
1515  float: none !important;
1516  margin-left: auto;
1517  margin-right: auto;
1518  min-width: 0 !important;
1519  max-width: min(310px, 100%);
1520}
1521@media (max-width: 991px) {
1522  /* Exact 2-up: one gap between two slides */
1523  .homepage-press-slide {
1524    flex-basis: calc((100% - 12px) / 2);
1525    max-width: calc((100% - 12px) / 2);
1526  }
1527}
1528/*
1529  Phone / small tablet: true viewport full-bleed for carousel + CTA.
1530  Title remains in its own padded container sibling.
1531*/
1532@media (max-width: 767px) {
1533  .homepage-press-section {
1534    overflow-x: clip;
1535    overflow-x: hidden; /* fallback */
1536    box-sizing: border-box;
1537  }
1538  /* Nesting-agnostic breakout (works even if parent chain adds unknown padding) */
1539  .homepage-press-bleed {
1540    width: 100vw;
1541    max-width: 100vw;
1542    margin-left: calc(50% - 50vw);
1543    margin-right: 0;
1544    box-sizing: border-box;
1545    padding-left: env(safe-area-inset-left, 0px);
1546    padding-right: env(safe-area-inset-right, 0px);
1547  }
1548  .homepage-press-bleed > .wide-container.container,
1549  .homepage-press-bleed > .container {
1550    width: 100% !important;
1551    max-width: none !important;
1552    padding-left: 0 !important;
1553    padding-right: 0 !important;
1554  }
1555  .homepage-press-bleed [class*="col-"] {
1556    padding-left: 0 !important;
1557    padding-right: 0 !important;
1558    float: none;
1559    width: 100%;
1560    margin-left: 0 !important;
1561  }
1562  #homepage-press-cards {
1563    width: 100%;
1564    max-width: 100%;
1565    margin: 0;
1566    box-sizing: border-box;
1567  }
1568  .homepage-press-carousel {
1569    display: flex;
1570    flex-wrap: wrap;
1571    justify-content: center;
1572    align-items: flex-start;
1573    gap: 8px 12px;
1574    width: 100%;
1575    max-width: 100%;
1576    margin: 0 0 4px;
1577    padding: 0;
1578  }
1579  .homepage-press-track,
1580  #homepage-press-cards .homepage-press-track {
1581    flex: 1 1 100%;
1582    order: 1;
1583    width: 100%;
1584    padding: 4px 0 8px;
1585    /*
1586      overflow-x:auto forces overflow-y to compute to auto (not visible).
1587      Keep the track tall enough for image+caption so nothing clips.
1588    */
1589    overflow-x: auto !important;
1590    overflow-y: hidden !important;
1591    align-items: stretch;
1592    height: auto !important;
1593    max-height: none !important;
1594  }
1595  .homepage-press-slide,
1596  #homepage-press-cards .homepage-press-slide {
1597    /* ~90% viewport primary card + clear peek of next */
1598    flex-basis: 90%;
1599    max-width: 90%;
1600    padding: 0 6px;
1601    scroll-snap-align: center;
1602    scroll-snap-stop: always;
1603    height: auto !important;
1604    max-height: none !important;
1605    min-height: 0 !important;
1606    overflow: visible !important;
1607    align-self: flex-start;
1608  }
1609  .homepage-press-slide .views-field,
1610  .homepage-press-slide .field-content,
1611  .homepage-press-slide .field-content > div,
1612  #homepage-press-cards .views-field,
1613  #homepage-press-cards .field-content,
1614  #homepage-press-cards .field-content > div {
1615    height: auto !important;
1616    max-height: none !important;
1617    overflow: visible !important;
1618  }
1619  /*
1620    Beat main.css + homepage-css.inc fixed card chrome on phones.
1621    Dual selectors: carousel slides AND #homepage-press-cards fallbacks.
1622  */
1623  .homepage-press-bleed figure.pressCard,
1624  #homepage-press-cards figure.pressCard,
1625  .homepage-press-slide figure.pressCard {
1626    margin: 8px auto !important;
1627    float: none !important;
1628    width: 100% !important;
1629    max-width: 100% !important;
1630    min-width: 0 !important;
1631    left: auto !important;
1632    height: auto !important;
1633    min-height: 0 !important;
1634    max-height: none !important;
1635    overflow: visible !important;
1636    color: #333 !important;
1637    background-color: #fff !important;
1638  }
1639  /*
1640    ROOT CAUSE FIX: main.css figure.pressCard a { position:absolute; inset:0 }.
1641    Absolute link removes the image from flow. With height:auto the figure
1642    collapses to the caption, and the img paints over department + title.
1643    Put the image link back in normal flow on mobile (not the hitarea).
1644  */
1645  .homepage-press-bleed figure.pressCard > a:not(.pressCard-hitarea),
1646  #homepage-press-cards figure.pressCard > a:not(.pressCard-hitarea),
1647  .homepage-press-slide figure.pressCard > a:not(.pressCard-hitarea) {
1648    position: static !important;
1649    left: auto !important;
1650    right: auto !important;
1651    top: auto !important;
1652    bottom: auto !important;
1653    display: block !important;
1654    width: 100% !important;
1655    height: auto !important;
1656    z-index: auto !important;
1657  }
1658  /* Keep full-card click target; transparent overlay above image, under date */
1659  .homepage-press-bleed figure.pressCard > a.pressCard-hitarea,
1660  #homepage-press-cards figure.pressCard > a.pressCard-hitarea,
1661  .homepage-press-slide figure.pressCard > a.pressCard-hitarea,
1662  .homepage-press-slide figure.pressCard a.pressCard-hitarea {
1663    position: absolute !important;
1664    left: 0 !important;
1665    right: 0 !important;
1666    top: 0 !important;
1667    bottom: 0 !important;
1668    display: block !important;
1669    width: auto !important;
1670    height: auto !important;
1671    z-index: 1 !important;
1672    background: transparent !important;
1673  }
1674  .homepage-press-bleed figure.pressCard img,
1675  #homepage-press-cards figure.pressCard img,
1676  .homepage-press-slide figure.pressCard img {
1677    display: block !important;
1678    width: 100% !important;
1679    max-width: 100% !important;
1680    height: auto !important;
1681    max-height: 220px !important;
1682    object-fit: cover;
1683  }
1684  .homepage-press-bleed figure.pressCard .date,
1685  #homepage-press-cards figure.pressCard .date,
1686  .homepage-press-slide figure.pressCard .date {
1687    z-index: 2 !important;
1688  }
1689  .homepage-press-bleed figure.pressCard figcaption,
1690  #homepage-press-cards figure.pressCard figcaption,
1691  .homepage-press-slide figure.pressCard figcaption {
1692    position: relative !important;
1693    display: block !important;
1694    height: auto !important;
1695    min-height: 0 !important;
1696    max-height: none !important;
1697    margin-top: 0 !important;
1698    padding: 12px 14px 18px !important;
1699    overflow: visible !important;
1700    background-color: #fff !important;
1701  }
1702  .homepage-press-bleed figure.pressCard h4,
1703  #homepage-press-cards figure.pressCard h4,
1704  .homepage-press-slide figure.pressCard h4 {
1705    font-size: 16px !important;
1706    padding-top: 0 !important;
1707    margin: 0 0 6px !important;
1708    color: #002856 !important;
1709    word-wrap: break-word !important;
1710    overflow-wrap: break-word !important;
1711    white-space: normal !important;
1712    overflow: visible !important;
1713    text-overflow: clip !important;
1714    max-height: none !important;
1715    -webkit-line-clamp: unset !important;
1716    line-clamp: unset !important;
1717  }
1718  .homepage-press-bleed figure.pressCard h4.departmentCard,
1719  .homepage-press-bleed figure.pressCard .departmentCard,
1720  #homepage-press-cards figure.pressCard h4.departmentCard,
1721  #homepage-press-cards figure.pressCard .departmentCard,
1722  .homepage-press-slide figure.pressCard h4.departmentCard,
1723  .homepage-press-slide figure.pressCard .departmentCard {
1724    display: block !important;
1725    visibility: visible !important;
1726    opacity: 1 !important;
1727    padding-top: 0 !important;
1728    margin: 0 0 6px !important;
1729    color: #ecaa00 !important;
1730    font-weight: 600 !important;
1731  }
1732  .homepage-press-bleed figure.pressCard h4 p,
1733  #homepage-press-cards figure.pressCard h4 p,
1734  .homepage-press-slide figure.pressCard h4 p {
1735    margin-top: 0 !important;
1736    margin-bottom: 0 !important;
1737    padding: 0 !important;
1738    padding-top: 0 !important;
1739    color: #002856 !important;
1740    font-size: 16px !important;
1741    line-height: 1.35 !important;
1742    white-space: normal !important;
1743    overflow: visible !important;
1744    text-overflow: clip !important;
1745    max-height: none !important;
1746    -webkit-line-clamp: unset !important;
1747    line-clamp: unset !important;
1748  }
1749  /* Prev/Next below the track — never overlay the date badge */
1750  .homepage-press-btn {
1751    position: static;
1752    top: auto;
1753    left: auto;
1754    right: auto;
1755    transform: none;
1756    order: 2;
1757    width: 48px;
1758    height: 48px;
1759    min-width: 48px;
1760    min-height: 48px;
1761    font-size: 28px;
1762    background: #fff;
1763    box-shadow: none;
1764  }
1765  .homepage-press-btn:hover,
1766  .homepage-press-btn:focus {
1767    background: #002856;
1768  }
1769  .homepage-press-btn:disabled {
1770    background: #fff;
1771  }
1772  .homepage-press-cta {
1773    width: 100%;
1774    max-width: 100%;
1775    margin: 8px 0 4px;
1776    padding: 0 16px;
1777    box-sizing: border-box;
1778  }
1779  .homepage-press-cta .btn {
1780    display: block;
1781    width: 100%;
1782    max-width: 100%;
1783    box-sizing: border-box;
1784    font-size: 18px;
1785    line-height: 1.3;
1786    padding: 14px 20px;
1787  }
1788}
1789/* Small phones: swipe + scrollbar only (no arrow chrome) */
1790@media (max-width: 480px) {
1791  .homepage-press-btn {
1792    display: none;
1793  }
1794  .homepage-press-slide {
1795    flex-basis: 88%;
1796    max-width: 88%;
1797  }
1798  .homepage-press-cta {
1799    padding: 0 12px;
1800  }
1801}
1802@media (prefers-reduced-motion: reduce) {
1803  .homepage-press-track {
1804    scroll-behavior: auto;
1805  }
1806}
1807</style>
1808<script>
1809/*
1810==============================================================================
1811  HOMEPAGE PRESS CAROUSEL — /inc/cor-new/homepage-press-data.inc
1812==============================================================================
1813  Included from default.asp near the "What's Happening" press section.
1814
1815  PURPOSE
1816  -------
1817  Builds a horizontal carousel of homepage press cards from /media (or from
1818  manual overrides). Users can page with Previous/Next, keyboard arrows, or
1819  touch swipe (CSS scroll-snap). Roughly three cards show at a time on desktop.
1820
1821  WHERE TO EDIT
1822  -------------
1823  Edit ONLY the window.HOMEPAGE_PRESS config object below (autoFromMedia,
1824  count, mediaUrl, overrides). Do not change the IIFE unless you are updating
1825  fetch/render/carousel logic.
1826
1827  Also see:
1828    • default.asp → #homepage-press-cards (static fallback HTML + SSI include)
1829    • Local work-folder README.md (editors' summary; do not deploy README)
1830
1831------------------------------------------------------------------------------
1832  HOW AUTO + CAROUSEL MODE WORKS (default)
1833------------------------------------------------------------------------------
1834  1. Page loads with static <figure> fallbacks in default.asp (if JS fails).
1835  2. This script fetches mediaUrl (default "/media") same-origin.
1836  3. It parses figure.pressCard elements (latest first; duplicate hrefs skipped).
1837  4. It builds up to "count" cards (default 24 — a large set, not just 3):
1838       - overrides[i] as an object pins that slide index (0 = first card).
1839       - overrides[i] as null (or missing) is filled from /media.
1840       - Remaining feed items fill later slides until "count" is reached.
1841  5. Pinned stories are excluded from auto-fill so they are not duplicated.
1842  6. #homepage-press-cards is replaced with the carousel (track + buttons).
1843
1844------------------------------------------------------------------------------
1845  OVERRIDES IN CAROUSEL MODE
1846------------------------------------------------------------------------------
1847  Overrides still mean “pin this story at this slide index,” not “only show 3.”
1848
1849  • Pin the first slide, auto-fill the rest from /media:
1850      overrides: [ { href, title, ... }, null, null ]
1851      (You only need as many override entries as pins; extra nulls optional.)
1852
1853  • Pin slides 1 and 3 (indexes 0 and 2); all other slides from /media:
1854      overrides: [ { ... }, null, { ... } ]
1855
1856  • Fully manual carousel (no /media fetch) — only listed objects, in order:
1857      autoFromMedia: false,
1858      overrides: [ { ... }, { ... }, { ... } ]
1859
1860  • All automatic (default):
1861      autoFromMedia: true,
1862      overrides: [ null, null, null ],
1863      count: 24
1864
1865  Tip: Raising "count" shows more of /media in the carousel (swipe/page farther).
1866  Lowering it shortens the carousel. Overrides beyond count-1 are ignored.
1867
1868------------------------------------------------------------------------------
1869  HOW TO USE (visitors)
1870------------------------------------------------------------------------------
1871  Desktop: Previous / Next buttons, or focus the card strip and use ← →.
1872  Tablet (~≤991px): ~2 cards; phone (~≤767px): one primary card (~88–90% vw)
1873  + peek of next. Mobile full-bleed uses .homepage-press-bleed (100vw breakout
1874  + zeroed container/col padding). Prev/Next sit below the track on phones;
1875  hidden on ≤480px (swipe + thin scrollbar). “View All Media” matches bleed width.
1876
1877------------------------------------------------------------------------------
1878  FIELD REFERENCE (override objects)
1879------------------------------------------------------------------------------
1880  Required:
1881    href        Link to the press/media article (absolute or site-relative).
1882    title       Headline shown under the department label.
1883
1884  Strongly recommended:
1885    img         Image URL (medium style from Drupal is typical).
1886    alt         Image alt text (defaults to title if omitted).
1887    day         Day number as shown on the card (e.g. "22").
1888    month       Month abbreviation/name (e.g. "Jul" or "July").
1889    department  Department label (defaults to "News" if omitted; prefer real
1890                dept from /media .departmentCard when auto-filling).
1891
1892  Optional:
1893    width       Image width attribute (default 220).
1894    height      Image height attribute (default 160).
1895
1896  Config keys on window.HOMEPAGE_PRESS:
1897    autoFromMedia  true = fill empty slots from /media; false = overrides only.
1898    count          Max slides to show (default 24). Was “3 slots”; now carousel size.
1899    mediaUrl       Path/URL to fetch (default "/media").
1900    overrides      Sparse pin list: object or null at each slide index.
1901
1902------------------------------------------------------------------------------
1903  ACCESSIBILITY NOTES
1904------------------------------------------------------------------------------
1905  • Carousel has role="region", aria-roledescription="carousel".
1906  • Slides use role="group", aria-roledescription="slide", "n of N" labels.
1907  • Prev/Next buttons have accessible names; disabled at ends; ≥44×44px.
1908  • Track is keyboard-focusable (tabindex="0"); arrow keys page the strip.
1909  • prefers-reduced-motion disables smooth scrolling.
1910  • Captions keep h4 / .departmentCard so existing pressCard CSS still works.
1911  • Mobile CSS scopes overrides (float/min-width/fixed height) under the
1912    carousel only so /media page cards are unchanged.
1913
1914------------------------------------------------------------------------------
1915  TROUBLESHOOTING
1916------------------------------------------------------------------------------
1917  • Cards look outdated after publish:
1918      Hard-refresh the homepage. Confirm this include is deployed to
1919      /inc/cor-new/homepage-press-data.inc and default.asp still SSI-includes it.
1920
1921  • Fetch fails / network error / /media markup changes:
1922      Static fallback figures in default.asp remain; aria-busy becomes false.
1923      Update those fallbacks if you want fresher offline defaults.
1924
1925  • Override not showing:
1926      Check commas/quotes. Need at least href + title. Invalid objects ignored.
1927
1928  • Duplicate story:
1929      Auto-fill skips pinned hrefs. Pinning the same href twice still shows twice.
1930
1931  • Want a different source page:
1932      Change mediaUrl (must return HTML with figure.pressCard markup).
1933
1934  • Carousel feels too short/long:
1935      Adjust count (e.g. 12, 24, 36).
1936
1937  • Mobile: side margins / smushed cards / arrow over date badge:
1938      Full-bleed is .homepage-press-bleed in default.asp + this file’s CSS
1939      (100vw + calc(50% - 50vw), not a fixed -30px guess). Site .pressCard
1940      float / fixed height / min-width:220px are overridden inside the
1941      carousel only — do not globally change homepage-css.inc unless /media
1942      cards also need a change.
1943==============================================================================
1944*/
1945window.HOMEPAGE_PRESS = {
1946  autoFromMedia: true,
1947  /* Max slides in the carousel (large set from /media). Raise to show more. */
1948  count: 24,
1949  mediaUrl: "/media",
1950  overrides: [
1951    null, // slide 1 (index 0) — set an object here to pin this card
1952    null, // slide 2
1953    null  // slide 3 — further slides fill from /media automatically
1954
1955    // Example override (paste into a slot above, replace null):
1956    // {
1957    //   href: "https://www.riversideca.gov/press/example-story",
1958    //   img: "https://www.riversideca.gov/sites/default/files/styles/medium/public/press/img/example.jpg",
1959    //   alt: "Example story image",
1960    //   day: "22",
1961    //   month: "Jul",
1962    //   department: "Citywide",
1963    //   title: "Example story headline",
1964    //   width: 220,
1965    //   height: 160
1966    // }
1967  ]
1968};
1969
1970(function () {
1971  function escapeHtml(value) {
1972    return String(value == null ? "" : value)
1973      .replace(/&/g, "&amp;")
1974      .replace(/</g, "&lt;")
1975      .replace(/>/g, "&gt;")
1976      .replace(/"/g, "&quot;")
1977      .replace(/'/g, "&#39;");
1978  }
1979
1980  function decodeEntities(value) {
1981    var textarea = document.createElement("textarea");
1982    textarea.innerHTML = value == null ? "" : String(value);
1983    return textarea.value.replace(/\s+/g, " ").trim();
1984  }
1985
1986  function absoluteUrl(url) {
1987    try {
1988      return new URL(url, window.location.origin).href;
1989    } catch (e) {
1990      return url;
1991    }
1992  }
1993
1994  function normalizeCard(card) {
1995    if (!card || !card.href || !card.title) return null;
1996    var dept = (card.department == null ? "" : String(card.department)).replace(/\s+/g, " ").trim();
1997    return {
1998      href: absoluteUrl(card.href),
1999      img: absoluteUrl(card.img || ""),
2000      alt: card.alt || card.title,
2001      day: card.day || "",
2002      month: card.month || "",
2003      department: dept || "News",
2004      title: decodeEntities(card.title),
2005      width: card.width || 220,
2006      height: card.height || 160
2007    };
2008  }
2009
2010  function parseCardsFromMediaHtml(html) {
2011    var doc = new DOMParser().parseFromString(html, "text/html");
2012    var figures = doc.querySelectorAll("figure.pressCard");
2013    var cards = [];
2014    var seen = {};
2015    for (var i = 0; i < figures.length; i++) {
2016      var fig = figures[i];
2017      var link = fig.querySelector("a[href]");
2018      var img = fig.querySelector("img");
2019      var dayEl = fig.querySelector(".date .day");
2020      var monthEl = fig.querySelector(".date .month");
2021      var deptEl = fig.querySelector(".departmentCard") ||
2022        fig.querySelector("figcaption h4.departmentCard") ||
2023        fig.querySelector("h4.departmentCard");
2024      var titleEl = fig.querySelector("figcaption h4:not(.departmentCard) p") ||
2025        fig.querySelector("figcaption h4:not(.departmentCard)") ||
2026        fig.querySelector("figcaption p");
2027      if (!link || !titleEl) continue;
2028      var deptText = deptEl ? deptEl.textContent.replace(/\s+/g, " ").trim() : "";
2029      var card = normalizeCard({
2030        href: link.getAttribute("href"),
2031        img: img ? (img.getAttribute("src") || "") : "",
2032        alt: img ? (img.getAttribute("alt") || "") : "",
2033        day: dayEl ? dayEl.textContent.trim() : "",
2034        month: monthEl ? monthEl.textContent.trim() : "",
2035        department: deptText,
2036        title: titleEl.textContent,
2037        width: img ? img.getAttribute("width") : 220,
2038        height: img ? img.getAttribute("height") : 160
2039      });
2040      if (!card || seen[card.href]) continue;
2041      seen[card.href] = true;
2042      cards.push(card);
2043    }
2044    return cards;
2045  }
2046
2047  function renderCard(card) {
2048    var lazy = ' loading="lazy" decoding="async"';
2049    var href = escapeHtml(card.href);
2050    var title = escapeHtml(card.title);
2051    var dept = escapeHtml(card.department);
2052    return '' +
2053      '<div class="views-field views-field-field-press-release-department">' +
2054        '<div class="field-content"><div class="">' +
2055          '<figure class="pressCard card-1">' +
2056            '<a href="' + href + '" aria-label="' + title + '">' +
2057              '<img typeof="foaf:Image" class="img-responsive" src="' + escapeHtml(card.img) + '"' +
2058                ' width="' + escapeHtml(card.width) + '" height="' + escapeHtml(card.height) + '"' +
2059                ' alt="' + escapeHtml(card.alt) + '"' + lazy + '>' +
2060            '</a>' +
2061            '<div class="date">' +
2062              '<span class="day">' + escapeHtml(card.day) + '</span>' +
2063              '<span class="month">' + escapeHtml(card.month) + '</span>' +
2064            '</div>' +
2065            '<figcaption>' +
2066              '<h4 class="departmentCard">' + dept + '</h4>' +
2067              '<h4><p>' + title + '</p></h4>' +
2068            '</figcaption>' +
2069            /* Transparent full-card hit target (desktop absolute <a> is static on mobile) */
2070            '<a class="pressCard-hitarea" href="' + href + '" tabindex="-1" aria-hidden="true"></a>' +
2071          '</figure>' +
2072        '</div></div>' +
2073      '</div>';
2074  }
2075
2076  function mergeCards(config, feedCards) {
2077    var maxCount = config.count || 24;
2078    var overrides = config.overrides || [];
2079    var slots = [];
2080    var i;
2081
2082    if (config.autoFromMedia === false) {
2083      for (i = 0; i < overrides.length; i++) {
2084        var manual = normalizeCard(overrides[i]);
2085        if (manual) slots.push(manual);
2086      }
2087      return slots.slice(0, maxCount);
2088    }
2089
2090    for (i = 0; i < maxCount; i++) {
2091      slots[i] = i < overrides.length ? normalizeCard(overrides[i]) : null;
2092    }
2093
2094    var used = {};
2095    for (i = 0; i < slots.length; i++) {
2096      if (slots[i]) used[slots[i].href] = true;
2097    }
2098
2099    var feedIndex = 0;
2100    for (i = 0; i < slots.length; i++) {
2101      if (slots[i]) continue;
2102      while (feedIndex < feedCards.length && used[feedCards[feedIndex].href]) {
2103        feedIndex++;
2104      }
2105      if (feedIndex < feedCards.length) {
2106        slots[i] = feedCards[feedIndex];
2107        used[feedCards[feedIndex].href] = true;
2108        feedIndex++;
2109      }
2110    }
2111
2112    return slots.filter(Boolean);
2113  }
2114
2115  function prefersReducedMotion() {
2116    return window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
2117  }
2118
2119  function pageScrollAmount(track) {
2120    if (!track) return 0;
2121    var slide = track.querySelector(".homepage-press-slide");
2122    if (!slide) return Math.max(track.clientWidth * 0.9, 200);
2123    var styles = window.getComputedStyle(track);
2124    var gap = parseFloat(styles.columnGap || styles.gap) || 0;
2125    /* Page by ~one viewport of slides (desktop ≈ 3; phone ≈ 1 with peek). */
2126    var slideWidth = slide.offsetWidth + gap;
2127    if (!slideWidth) return Math.max(track.clientWidth * 0.85, 160);
2128    var perPage = Math.max(1, Math.round(track.clientWidth / slideWidth));
2129    return slideWidth * perPage;
2130  }
2131
2132  function updateCarouselControls(track, prevBtn, nextBtn) {
2133    if (!track || !prevBtn || !nextBtn) return;
2134    var maxScroll = Math.max(0, track.scrollWidth - track.clientWidth);
2135    var left = track.scrollLeft;
2136    var epsilon = 4;
2137    prevBtn.disabled = left <= epsilon;
2138    nextBtn.disabled = left >= maxScroll - epsilon;
2139  }
2140
2141  function scrollTrackBy(track, direction) {
2142    if (!track) return;
2143    var amount = pageScrollAmount(track) * direction;
2144    var behavior = prefersReducedMotion() ? "auto" : "smooth";
2145    if (typeof track.scrollBy === "function") {
2146      track.scrollBy({ left: amount, behavior: behavior });
2147    } else {
2148      track.scrollLeft += amount;
2149    }
2150  }
2151
2152  function initCarousel(root) {
2153    var carousel = root.querySelector(".homepage-press-carousel");
2154    var track = root.querySelector(".homepage-press-track");
2155    var prevBtn = root.querySelector(".homepage-press-prev");
2156    var nextBtn = root.querySelector(".homepage-press-next");
2157    if (!carousel || !track || !prevBtn || !nextBtn) return;
2158
2159    function refresh() {
2160      updateCarouselControls(track, prevBtn, nextBtn);
2161    }
2162
2163    prevBtn.addEventListener("click", function () {
2164      scrollTrackBy(track, -1);
2165    });
2166    nextBtn.addEventListener("click", function () {
2167      scrollTrackBy(track, 1);
2168    });
2169
2170    track.addEventListener("scroll", refresh, { passive: true });
2171    track.addEventListener("keydown", function (event) {
2172      if (event.key === "ArrowLeft") {
2173        event.preventDefault();
2174        scrollTrackBy(track, -1);
2175      } else if (event.key === "ArrowRight") {
2176        event.preventDefault();
2177        scrollTrackBy(track, 1);
2178      } else if (event.key === "Home") {
2179        event.preventDefault();
2180        track.scrollTo({ left: 0, behavior: prefersReducedMotion() ? "auto" : "smooth" });
2181      } else if (event.key === "End") {
2182        event.preventDefault();
2183        track.scrollTo({
2184          left: track.scrollWidth,
2185          behavior: prefersReducedMotion() ? "auto" : "smooth"
2186        });
2187      }
2188    });
2189
2190    window.addEventListener("resize", refresh);
2191    refresh();
2192    /* After images load, scrollWidth can change — refresh once. */
2193    window.setTimeout(refresh, 400);
2194  }
2195
2196  function paint(cards) {
2197    var mount = document.getElementById("homepage-press-cards");
2198    if (!mount) return;
2199    if (!cards.length) return;
2200
2201    var total = cards.length;
2202    var slides = cards.map(function (card, index) {
2203      return '' +
2204        '<div class="homepage-press-slide" role="group" aria-roledescription="slide" ' +
2205          'aria-label="' + escapeHtml((index + 1) + " of " + total) + '">' +
2206          renderCard(card) +
2207        '</div>';
2208    }).join("");
2209
2210    mount.classList.remove("is-fallback");
2211    mount.innerHTML = '' +
2212      '<div class="homepage-press-carousel" role="region" aria-roledescription="carousel" ' +
2213        'aria-label="What\'s Happening press stories">' +
2214        '<button type="button" class="homepage-press-btn homepage-press-prev" ' +
2215          'aria-label="Previous press stories" aria-controls="homepage-press-track">' +
2216          '<span aria-hidden="true">&#8249;</span>' +
2217        '</button>' +
2218        '<div class="homepage-press-track" id="homepage-press-track" tabindex="0">' +
2219          slides +
2220        '</div>' +
2221        '<button type="button" class="homepage-press-btn homepage-press-next" ' +
2222          'aria-label="Next press stories" aria-controls="homepage-press-track">' +
2223          '<span aria-hidden="true">&#8250;</span>' +
2224        '</button>' +
2225      '</div>';
2226    mount.setAttribute("aria-busy", "false");
2227    initCarousel(mount);
2228  }
2229
2230  function loadHomepagePress() {
2231    var config = window.HOMEPAGE_PRESS || { autoFromMedia: true, count: 24, overrides: [] };
2232    var mount = document.getElementById("homepage-press-cards");
2233    if (!mount) return;
2234
2235    if (config.autoFromMedia === false) {
2236      paint(mergeCards(config, []));
2237      return;
2238    }
2239
2240    var url = config.mediaUrl || "/media";
2241    fetch(url, { credentials: "same-origin" })
2242      .then(function (res) {
2243        if (!res.ok) throw new Error("Media fetch failed: " + res.status);
2244        return res.text();
2245      })
2246      .then(function (html) {
2247        paint(mergeCards(config, parseCardsFromMediaHtml(html)));
2248      })
2249      .catch(function () {
2250        // Keep the static fallback markup already in the page.
2251        if (mount) {
2252          mount.classList.add("is-fallback");
2253          mount.setAttribute("aria-busy", "false");
2254        }
2255      });
2256  }
2257
2258  if (document.readyState === "loading") {
2259    document.addEventListener("DOMContentLoaded", loadHomepagePress);
2260  } else {
2261    loadHomepagePress();
2262  }
2263})();
2264</script>
2264
2265
2266			</div>
2267		</div>
2268	</div>
2269</div> 
2270
2271
2272
2273
2274	<div class="container">
2275
2276		<header role="banner" id="page-header">
2277
2278		</header> <!-- /#page-header -->
2279
2280		<div class="row">
2281
2282
2283			<section class="col-sm-12">	
2284
2285
2286
2287		<!--<div class="row welcome-message">
2288			<div class="col-sm-12">
2289				<h1 class="text-center" style="color:#0e2f51">Welcome to the City of Riverside</h1>
2290				 <div class="col-md-10 col-md-offset-1">
2291					<p class="text-center">The community of Riverside offers a vibrant lifestyle for both your personal and professional life. Between
2292					thriving education institutions for all ages, a variety of parks and spaces, and its commitment to culture and the arts.</p>
2293					<p class="text-center">Experience the many wonderful restaurants, outdoor areas, and entertainment venues Riverside has to offer. Whether you're
2294					looking for a night out or a weekend trip, you'll never be without something to do. Riverside is truly an extraordinary place to live.</p>
2295				</div> 
2296			</div>
2297		</div>-->
2298
2299		<div class="row hexDropRow">
2300			<div class="col-sm-4 col-md-3">
2301				<div class="hexDropDown">
2302					<div class="home-link" style="background-color:#e6e8e9;padding:25px;" role="button" tabindex="0" data-toggle="collapse" data-target="#apply-fors" aria-expanded="false" aria-controls="apply-fors">
2303						<p class="text-center"><img src="https://www.riversideca.gov/images/corweb-homepage/apply-for-logo1.png" alt="Apply For" width="80" height="80" loading="lazy" decoding="async"/></p>
2304						<h3 class="text-center" style="color:#0e2f51">APPLY FOR A...</h3>
2305						<p class="text-center">Whether you're looking to apply for a library card, license, passport, or permit you'll find it below.</p>
2306					</div>
2307					<div id="apply-fors" class="collapse home-link-links">
2308						<ul style="padding-left:25px;">
2309							<li class="marginBottomTen marginTopTen"><a href="https://www.riversideca.gov/cedd/building-safety/building-safety-services/permits">Building Permit</a></li>
2310							<li class="marginBottomTen"><a href="/finance/license.asp">Business License</a></li>
2311							<li class="marginBottomTen"><a href="https://www.riversidegotransit.com/">Discounted Bus Pass</a></li>
2312							<li class="marginBottomTen"><a href="https://www.riversideca.gov/human/employee-hub/internships">Internship Opportunities</a></li>
2313							<li class="marginBottomTen"><a href="http://cityjobs.riversideca.gov">Jobs</a></li>
2314							<li class="marginBottomTen"><a href="https://read.riversideca.gov/patronaccount/selfregister.aspx" target="_blank">Library Card</a></li>
2315							<li class="marginBottomTen"><a href="https://www.riversideca.gov/cityclerk//cityclerk/passport">Passport</a></li>
2316							<li class="marginBottomTen"><a href="https://riversideca.gov/publicworks/other-services/animal-services">Pet License</a></li>
2317							<li class="marginBottomTen"><a href="https://www.riversideca.gov/publicworks/engineering/engineering/public-works-permitting">Public Works Permit</a></li>
2318							<li class="marginBottomTen"><a href="https://www.riversideca.gov/utilities/residents/rebates.asp">Rebate</a></li>
2319							<li class="marginBottomTen"><a href="https://riversideca.gov/cedd/arts-cultural-affairs/forms-permits/special-events">Special Event Permit</a></li>
2320							<li class="marginBottomTen"><a href="https://www.riversideca.gov/human/volunteer">Volunteer Opportunities</a></li>
2321						</ul>
2322					</div>
2323					<button style="height:26px;background-color:#f7b602;width:100%;position:relative;border:none;" type="button" data-toggle="collapse" data-target="#apply-fors" aria-label="Expand Apply for a options" aria-controls="apply-fors"><i style="color:white;font-size:18px;" class="fa fa-caret-down" aria-hidden="true"></i></button>
2324				</div>
2325			</div>
2326			<div class="col-sm-4 col-md-3">
2327				<div class="hexDropDown">
2328					<div class="home-link" style="background-color:#e6e8e9;padding:25px;" role="button" tabindex="0" data-toggle="collapse" data-target="#pay-my" aria-expanded="false" aria-controls="pay-my">
2329						<p class="text-center"><img src="https://www.riversideca.gov/images/corweb-homepage/pay-my-logo1.png" alt="Pay My" width="80" height="80" loading="lazy" decoding="async"/></p>
2330						<h3 class="text-center" style="color:#0e2f51">PAY MY...</h3>
2331						<p class="text-center">Whether you're looking to pay for a Library Fees, business license, or a utility bill you'll find it below.</p>
2332					</div>
2333					<div id="pay-my" class="collapse home-link-links">
2334						<ul style="padding-left:25px;">
2335							<li class="marginBottomTen marginTopTen"><a href="https://arpay.riversideca.gov">AR Invoice</a></li>
2336							<li class="marginBottomTen"><a href="https://riverside.hdlgov.com/">Business License Renewal</a></li>
2337							<li class="marginBottomTen"><a href="http://www.riversideca.gov/fire/payment/">Fire Department Fees</a></li>
2338							<li class="marginBottomTen"><a href="https://pdalarm.riversideca.gov/">False Alarm Penalties</a></li>
2339							<li class="marginBottomTen"><a href="https://spov2.comprisesmartpay.com/?ID=RiversideCASP">Library Fees &amp; Fines</a></li>
2340							<li class="marginBottomTen"><a href="https://apm.activecommunities.com/riversideprcsd">Parks &amp; Recreation Activities</a></li>
2341							<li class="marginBottomTen"><a href="https://riverside.citationinfo.com/CitationSearch.aspx" target="_blank">Parking Citation </a></li>
2342							<li class="marginBottomTen"><a href="https://riversidecounty.docupet.com/en_US/">Pet License</a></li>
2343							<li class="marginBottomTen"><a href="/finance/licensetot.asp">Transient Occupancy Tax (T.O.T.)</a></li>
2344							<li class="marginBottomTen"><a href="https://billpay.riversideca.gov/iwr/user/login.seam">Utility Bill</a></li>
2345
2346						</ul>
2347					</div>
2348					<button style="height:26px;background-color:#f7b602;width:100%;position:relative;border:none;" type="button" data-toggle="collapse" data-target="#pay-my" aria-label="Expand Pay my options" aria-controls="pay-my"><i style="color:white;font-size:18px;" class="fa fa-caret-down" aria-hidden="true"></i></button>
2349				</div>
2350			</div>
2351
2352			<div class="col-sm-4 col-md-3">
2353				<div class="hexDropDown">
2354					<div class="home-link" style="background-color:#e6e8e9;padding:25px;" role="button" tabindex="0" data-toggle="collapse" data-target="#report-a" aria-expanded="false" aria-controls="report-a">
2355						<p class="text-center"><img src="https://www.riversideca.gov/images/corweb-homepage/report-a-logo1.png" alt="Report A" width="80" height="80" loading="lazy" decoding="async"/></p>
2356						<h3 class="text-center" style="color:#0e2f51">REPORT A...</h3>
2357						<p class="text-center">Whether you're looking to report a crime in progress, graffiti, or street light outage you'll find it below.</p>
2358					</div>
2359					<div id="report-a" class="collapse home-link-links">
2360						<ul style="padding-left:25px;">
2361							<li class="marginBottomTen"><a href="https://riversideca.gov/code/">Code Violation</a></li>
2362							<li class="marginBottomTen marginTopTen"> <a href="https://www.riversideca.gov/rpd/about-contact/administration/support-services/dispat
2362ch">Crime in progress</a></li>
2363							<li class="marginBottomTen"><a href="https://crmweb.riversideca.gov/">Graffiti</a></li>
2364							<li class="marginBottomTen"><a href="https://www.riversideca.gov/utilities/residents/contact-us">Street Light Outage</a></li>
2365						</ul>
2366					</div>
2367					<button style="height:26px;background-color:#f7b602;width:100%;position:relative;border:none;" type="button" data-toggle="collapse" data-target="#report-a" aria-label="Expand Report a options" aria-controls="report-a"><i style="color:white;font-size:18px;" class="fa fa-caret-down" aria-hidden="true"></i></button>
2368				</div>
2369			</div>
2370
2371			<div class="col-sm-4 col-md-3">
2372				<div class="hexDropDown">
2373					<div class="home-link" style="background-color:#e6e8e9;padding:25px;" role="button" tabindex="0" data-toggle="collapse" data-target="#how-do" aria-expanded="false" aria-controls="how-do">
2374						<p class="text-center"><img src="https://www.riversideca.gov/images/corweb-homepage/how-do-i-logo1.png" alt="How Do I" width="80" height="80" loading="lazy" decoding="async"/></p>
2375						<h3 class="text-center" style="color:#0e2f51">HOW DO I...</h3>
2376						<p class="text-center">Whether you're looking to volunteer or contact a representative you'll find it below.</p>
2377					</div>
2378					<div id="how-do" class="collapse home-link-links">
2379						<ul style="padding-left:25px;">                 
2380							<li class="marginBottomTen"><a href="https://riversideca.legistar.com/Calendar.aspx">All Meeting Agendas</a></li>
2381							<li class="marginBottomTen"><a href="https://www.riversideca.gov/human/employee-hub/internships">Apply for an Internship</a></li>
2382							<li class="marginBottomTen"><a href="https://www.riversideca.gov/citymanager/lgbtq-liaison">Contact LGBTQ Liaison</a></li>
2383							<li class="marginBottomTen"><a href="http://www.riversideca.gov/council/">Contact My Council Representative</a></li>
2384							<li class="marginBottomTen"><a href="https://riversideca.gov/mayor/contact">Contact the Mayor</a></li>
2385							<li class="marginBottomTen"><a href="https://cityofriverside.maps.arcgis.com/apps/webappviewer/index.html?id=11ce33add2f9410d8d79b03bb8656722">Find My Ward</a></li>
2386							<li class="marginBottomTen"><a href="https://riversideca.gov/finance/budget.asp">Learn about the Budget</a></li>
2387							<li class="marginBottomTen"><a href="https://riversideca.gov/transparency/records/">Make Public Records Request</a></li>
2388							<li class="marginBottomTen"><a href="https://www.riversideca.gov/generalservices/commission-disabilities/request-for-accommodation">Make An ADA Complaint</a></li>
2389							<li class="marginBottomTen"><a href="https://riversideca.gov/park_rec/programs-sports/seniors/special-transportation-division">Secure Special Transportation</a></li>
2390							<li class="marginBottomTen"><a href="http://crmweb.riversideca.gov/">Schedule a Bulky Item Pickup</a></li>
2391							<li class="marginBottomTen"><a href="https://riversideca.gov/utilities/residents/startstop-service/about" target="_blank">Start Residential Utility Services</a></li>
2392							<li class="marginBottomTen"><a href="https://www.riversideca.gov/cityclerk/online-documents/claims-damages">Submit a Claim for Damages</a></li>
2393							<li class="marginBottomTen"><a target="_blank" href="https://awardrecognition.riversideca.gov/">Submit a request for either a proclamation or certificate</a></li>
2394							<li class="marginBottomTen"><a target="_blank" href="http://riversideca.gov/transparency/results/">View Strategic Goals & Performance Measure</a></li>
2395							<li class="marginBottomTen"><a href="http://www.riversideca.gov/residents/get-involved">Volunteer</a></li>
2396
2397						</ul>
2398					</div>
2399					<button style="height:26px;background-color:#f7b602;width:100%;position:relative;border:none;" type="button" data-toggle="collapse" data-target="#how-do" aria-label="Expand How do I options" aria-controls="how-do"><i style="color:white;font-size:18px;" class="fa fa-caret-down" aria-hidden="true"></i></button>
2400				</div>
2401			</div>  
2402		</div> <!-- End of Quick Links Row -->
2403
2404
2405
2406
2407		
2408		
2409	</section>
2410
2411	
2412</div>
2413</div>
2414<div class="row socialRow" id="press-releases" >
2415	<div class="container">
2416		<div class="col-md-12" style="margin-top:20px;margin-bottom:20px;">
2417			<h2 class="text-center" >Connect with us</h2>
2418		</div>
2419		<div class="col-sm-6">
2420			<div class="card" style="margin-top: 0px;">
2421				<div class="card-image" style="height: 200px;">
2422					<img class="img-responsive" src="https://www.riversideca.gov/images/RiversideVistortsBureau1388.jpg" alt="Riverside City Hall and downtown Riverside" width="555" height="200" loading="lazy" decoding="async">
2423
2424				</div>
2425
2426				<div class="card-content">
2427					<h3 class="text-center" style="color:#002856; margin-top: 0px;">Riverside City Hall</h3>
2428					<h5>
2429						<i class="fa fa-map-marker fa-lg" aria-hidden="true"></i>
2430						<a href="https://goo.gl/maps/WLvUKt2qSbG2" target="_blank" rel="noopener noreferrer"> 3900 Main St, Riverside, CA 92522</a>
2431					</h5>
2432					<h5>
2433						<i class="fa fa-phone fa-lg" aria-hidden="true"> </i> <a href="/who-call-city-hall" target="_blank" rel="noopener noreferrer"> Who to Call at City Hall</a>
2434					</h5>
2435					<h5>
2436						<!-- <i class="fa fa-clock-o fa-lg" aria-hidden="true"></i>  Monday - Friday 7:30 AM – 5:00 PM --> <a href="https://www.riversideca.gov/services/online-services">Online Services</a>
2437					</h5>
2438
2439
2440				</div>
2441			</div>      
2442		</div>
2443		<div class="col-sm-6">
2444			<!--<a class="twitter-timeline" href="https://twitter.com/riversidecagov"  data-chrome="nofooter" data-link-color="#002856" data-border-color="#ecaa00" data-tweet-limit="1">Tweets by riversidecagov</a> 
2444<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
2444 -->
2445			<div id="curator-feed-font-page-twitter"><a href="https://curator.io" target="_blank" rel="noopener noreferrer" class="crt-logo crt-tag" aria-label="Powered by Curator.io">Curator.io</a></div>
2446		</div>
2447	</div>
2448</div>
2449
2450<div class="row">
2451</div>
2452
2453
2454<!-- The Javascript can be moved to the end of the html page before the </body> tag -->
2455<script type="text/javascript">
2456	/* curator-feed-font-page-twitter */
2457	(function(){
2458		var i, e, d = document, s = "script";i = d.createElement("script");i.async = 1;
2459		i.src = "https://cdn.curator.io/published/0c38d4ba-c6bd-433b-a24b-1b5d27b4.js";
2460		e = d.getElementsByTagName(s)[0];e.parentNode.insertBefore(i, e);
2461	})();
2462</script>
2462
2463
2464
2465
2466
2467
2468<script type="text/javascript">
2469	(function ($) { 
2470		$(document).ready(function(){
2471			var images = ['Header-one.jpg', 'Header-two.jpg', 'Header-three.jpg', 'Header-four.jpg', 'Header-five.jpg'];
2472			$('#homepage-slider').css({'background-image': 'url(/sites/all/themes/city_of_riverside/images/' + images[Math.floor(Math.random() * images.length)] + ')'});
2473		});  
2474	});	
2475</script>
2475
2476<!--Hard Coded Footer-->		
2477<footer class="footer" id="footer">
2478<div class="container">
2479	<img id="footer-raincross" src="/sites/all/themes/city_of_riverside/images/raincross-orange.png" alt="City of Riverside Raincross" width="25" height="27" loading="lazy" decoding="async">	
2480  <div class="row">
2481	<div class="col-md-3">
2482		<h4><a href="https://www.riversideca.gov/">Home</a></h4>
2483        <ul>
2484            <li><a href="/residents">Residents</a></li>
2485            <li><a href="/government">Government</a></li>
2486            <li><a href="/business">Business</a></li>
2487            <li><a href="/services">Services</a></li>
2488            <li><a href="/media">Media</a></li>
2489            <li><a href="/connect">Connect</a></li>
2490            <li><a href="/jobs">Jobs</a></li>
2491            <li><a href="/human/volunteer">Volunteer</a></li>
2492        </ul>
2493	</div>
2494	<div class="col-md-3">
2495		<h4>Popular</h4>
2496        <ul>
2497            <li><a href="/government">City Departments</a></li>
2498            <li><a href="https://www.riversideca.gov/mayor">Mayor</a></li>
2499            <li><a href="https://www.riversideca.gov/council">City Council</a></li>
2500            <li><a href="https://www.riversideca.gov/library">Library</a></li>
2501            <li><a href="https://www.riversideca.gov/museum">Museum</a></li>
2502            <li><a href="https://www.riversideca.gov/park_rec">Parks and Recreation</a></li>
2503            <li><a href="https://www.riversideca.gov/utilities">Public Utilities</a></li>
2504        </ul>
2505	</div>
2506	<div class="col-md-3">
2507		<h4><a href="/gov-whotocall.asp">Contact</a></h4>
2508        <ul>
2509            <li><a href="/who-call-city-hall">Who to Call at City Hall</a></li>
2510            <li><a href="https://crmweb.riversideca.gov">311 Services</a></li>
2511            <li><a href="/cdn-cgi/l/email-protection#197a7875757a7c776d7c6b596b706f7c6b6a707d7c7a78377e766f">Email Call Center</a></li>
2512        </ul>
2513	</div>
2514	<div class="col-md-3">
2515		<h4>Resources</h4>
2516        <ul>
2517            <li><a href="https://library.municode.com/ca/riverside/codes/code_of_ordinances">Charter and Municipal Code</a></li>							
2518            <li><a href="https://www.riversideca.gov/awards.asp">Our Awards</a></li>
2519            <li><a href="/media">Media Page</a></li>
2520            <li><a href="https://www.riversideca.gov/calendar">Community Calendar</a></li>
2521            <li><a href="/city-apps">Mobile Apps</a></li>
2522            <li><a href="https://www.riversideca.gov/transparency">EngageRiverside</a></li>
2523            <li><a href="https://riversideca.gov/finance/investor/monthlyreports.asp" target="_blank">Assembly Bill 2854 Compliance</a></li>
2524        </ul>
2525	</div>
2526  </div><!--end row-->
2527<p>&nbsp;</p>
2528
2529  <div class="row" style="padding-bottom:10px">
2530        <div class="col-md-6">
2531                <img src="/sites/all/themes/city_of_riverside/images/cor-logo-30x30.png" alt="City of Riverside Logo" width="30" height="30" loading="lazy" decoding="async">&nbsp;&nbsp;<a href="https://www.riversideca.gov/">City of Riverside</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="https://www.exploreriverside.com">Explore Riverside</a>
2532		</div>
2533		<div class="col-md-3">
2534				<style>
2535						    #google_translate_element select{
2536							width:180px;
2537							}
2538						</style>
2539						<div id="google_translate_element" style="padding-left:10px;padding-right:10px;"></div>
vendor: 108 bytes, line 2539
2539<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2539<script type="text/javascript">
2540							function googleTranslateElementInit() {
2541							  new google.translate.TranslateElement({pageLanguage: 'en', gaTrack: true, gaId: 'UA-10797445-1'}, 'google_translate_element');
2542							}
2543							</script>
2543
2544							
2544<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
2544
2545							
2546							 
2546<script type="text/javascript">// <![CDATA[
2547function googleTranslateElementInit() {
2548new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
2549}
2550// ]]></script>
2550
2551        </div>
2552        <div class="col-md-3">
2553			<a class="space first" href="https://www.facebook.com/CityofRiverside" target="_blank" aria-label="Facebook"><i class="fa fa-facebook fa-2x" aria-hidden="true"></i></a>
2554			<a class="space" href="https://twitter.com/riversidecagov" target="_blank" aria-label="Twitter"><i class="fa-brands fa-square-x-twitter" aria-hidden="true" style="font-size: 2em; color: #fff;"></i></a> 
2555			<a class="space" href="https://instagram.com/cityofriverside" target="_blank" aria-label="Instagram"><i class="fa fa-instagram fa-2x" aria-hidden="true"></i></a> 
2556            <a class="space last" href="https://www.youtube.com/cityofriverside" target="_blank" aria-label="YouTube"><i class="fa fa-youtube fa-2x" aria-hidden="true"></i></a> 
2557			<a class="space last" target="_blank" href="https://member.everbridge.net/index/453003085614598#/login" style="margin-left:15px" aria-label="Riverside Alerts" rel="noopener noreferrer"><img src="/sites/all/themes/city_of_riverside/images/Riverside Alert_Logo_White_27x32.png" alt="" width="27" height="32" style="margin-top:-12px" aria-hidden="true"></a>
2558    
2559        </div>
2560         
2561
2562  </div>
2563
2564</div><!-- end container -->
2565  <div class="row" style="margin-left: 0px; margin-right: 0px;">
2566  	  	<div style="background-color: #111; border-top: solid 1px #666;">
2567		<div class="layout font10 footer-container container" style="color: #999;">
2568            <div style="text-align:center; padding-top: 10px; height:auto; padding-bottom:10px; ">Copyright © 2016 - 2026 City of Riverside | <a href="https://riversideca.gov/accessibility-statement">Accessibility Policy</a> | <a href="https://riversideca.gov/website-disclaimer-limit-liability">Website Disclaimer</a> | <a href="https://riversideca.gov/privacy-policy">Privacy Policy</a>
2569			<!--
2570			<div class="visible-xs visible-sm" style="padding-top:8px">
2571				<img class="center-image" border="0" style="padding-right:8px;" src="/images/facebook-logo.png">
2572				<img class="center-image" border="0" style="padding-right:8px;" src="/images/twitter-logo.png">
2573				<img class="center-image" border="0" style="padding-right:8px;" src="/images/youtube-logo.png">
2574				<img class="center-image" border="0" style="padding-right:8px;" src="/images/linkedin-logo.png">
2575				<img class="center-image" border="0" style="padding-right:8px;" src="/images/rss-logo.png">
2576			</div>
2577			-->
2578		</div>
2579	</div>
2580
2581
2582
2583<!--
2583<script type="text/javascript" src="https://www.riversideca.gov/js/custom.js"></script>
2583-->
2584
2585<script defer type="text/javascript" src="/js/jquery-3.4.1.min.js"></script>
2585
2586<script defer type="text/javascript" src="/js/jquery-migrate-3.1.0.min.js"></script>
2586
2587<script defer src="/js/corweb/drupal.js"></script>
2587
2588<script defer src="/js/corweb/jquery.once.js"></script>
2588
2589<script defer src="/js/corweb/bootstrap/affix.js"></script>
2589
2590<script defer src="/js/corweb/bootstrap/alert.js"></script>
2590
2591<script defer src="/js/corweb/bootstrap/button.js"></script>
2591
2592<script defer src="/js/corweb/bootstrap/carousel.js"></script>
2592
2593<script defer src="/js/corweb/bootstrap/collapse.js"></script>
2593
2594<script defer src="/js/corweb/bootstrap/dropdown.js"></script>
2594
2595<script defer src="/js/corweb/bootstrap/modal.js"></script>
2595
2596<script defer src="/js/corweb/bootstrap/tooltip.js"></script>
2596
2597<script defer src="/js/corweb/bootstrap/popover.js?oqtub7"></script>
2597
2598<script defer src="/js/corweb/bootstrap/scrollspy.js?oqtub7"></script>
2598
2599<script defer src="/js/corweb/bootstrap/tab.js?oqtub7"></script>
2599
2600<script defer src="/js/corweb/bootstrap/transition.js?oqtub7"></script>
2600
2601<script defer src="/js/corweb/slideout.min.js?oqtub7"></script>
2601
2602<script defer src="/js/corweb/side-menu.js?oqtub7"></script>
2602
2603
2604<script defer src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/js/all.min.js" integrity="sha512-uKQ39gEGiyUJl4AI6L+ekBdGKpGw4xJ55+xyJG7YFlJokPNYegn9KwQ3P8A7aFQAUtUsAQHep+d/lrGqrbPIDQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
2604
2605<script defer src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/js/v4-shims.min.js" integrity="sha512-6n3X18GAJomziz6HVPbmyBOEZeoB8+unwEBTRXFs3IZTRYYCkbXNAWNV68uHujamEvDBqaGe2FTW19o81h1/RA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
2605  </div>
2606  
2607      </footer>
2608
2609	</main>  
2609<script defer src="https://www.riversideca.gov/sites/all/themes/bootstrap/js/bootstrap.js?q57fm9"></script>
2609
2610
2611<!-- Include the script file   -->
2612<script defer type="text/javascript" src="https://prod-druid-cdn-clients.azureedge.net/cityofriverside-hs/Rivy-56ab1b4e-737c-4fa0-a723-08dd8c0983b3/webchatfiles/druid_webchat_v2.js"></script>
2612
2613<!-- Init the webchat component on document load -->
2614<script type="text/javascript">
2615            document.addEventListener("DOMContentLoaded", function(event) {
2616                DruidWebchat_v2.init({
2617<!-- Common settings  -->
2618                    botId: "56ab1b4e-737c-4fa0-a723-08dd8c0983b3",
2619                    baseUrl: "https://druidapi.us.druidplatform-hs.com",
2620                    queryParams: "", // pass queryParams to AuthorizeAsync method
2621                });
2622            });
2623</script>
2623
2624
2625<!-- accessWidget -->
2626
2627
2628<script> (function(){ var s = document.createElement('script'); var h = document.querySelector('head') || document.body; s.src = 'https://acsbapp.com/apps/app/dist/js/app.js'; s.async = true; s.onload = function(){ acsbJS.init(); }; h.appendChild(s); })(); </script>
2628
2629<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"a666049ed83c478d9f39bc171e47c2be","spa":2}' crossorigin="anonymous"></script>
2629
2630</body>
2631</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.