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&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> 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> 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 */ 1078 let data = [ 1079 1080 { 1081 a: "https://riversideca.gov/press/local-vibes-event-series", 1082 src: "https://riversideca.gov/lobby-tv/img/Sliders/2026/Fall%20Festival%202026-City_TV.jpg?v=3", 1083 web: "https://riversideca.gov/lobby-tv/img/Sliders/2026/Fall Festival 2026-Web-311.jpg?v=2", 1084 alt: "Fall Festival 2026", 1085 end: "10/10/2026" 1086 }, 1087 { 1088 a: "https://riversidepublicutilites.com/outages", 1089 src: "https://riversideca.gov/lobby-tv/img/Sliders/RPU_Webslider_City_TV.jpg?v=2", 1090 web: false, 1091 alt: "Riverside Public Utilities", 1092 end: "" 1093 }, 1094 { 1095 a: "https://riversideca.gov/cdbg", 1096 src: "https://riversideca.gov/webslider-img/2026/CDBG-Meetings-Webslider_City_TV311.jpg", 1097 web: "https://riversideca.gov/webslider-img/2026/CDBG-Meetings-Webslider_City_Web.jpg", 1098 alt: "Hud Annual Action Plan 27/28", 1099 start: "09/23/2026", 1100 end: "10/29/2026" 1101 }, 1102 { 1103 a : "https://sur-vey.typeform.com/to/DVY2DioQ", 1104 src: "https://riversideca.gov/webslider-img/2026/Riverside-GPU-Mobility-Circulation-OH-Website-Ad.png", //311 page, if not for 311 use false 1105 web: "https://riversideca.gov/webslider-img/2026/Riverside-GPU-Mobility-Circulation-OH-Website-Ad.png", //web page, if not for web use false 1106 alt: "Join us for mobility & circulation open house", 1107 start: "", // optional; 3/01/2026 starts on/after this date 1108 end: "10/14/2026" // 3/24/2026 ends after this date 1109 }, 1110 { 1111 a : "https://riversidetv.com/Local-Sports", 1112 src: "https://riversideca.gov/webslider-img/2026/RiversideTV-Sports_TV-Webslide-V1.jpg", //311 page, if not for 311 use false 1113 web: "https://riversideca.gov/webslider-img/2026/RiversideTV-Sports_Webslider.jpg", //web page, if not for web use false 1114 alt: "Local Sports Football", 1115 end: "" //ends after this date 1116 }, 1117 1118 { 1119 a : "https://riversideca.gov/explore", 1120 src: "https://riversideca.gov/webslider-img/2026/Explore-Riverside-Fall-2026_Webslider_311TV.jpg", //311 page, if not for 311 use false 1121 web: "https://riversideca.gov/webslider-img/2026/Explore-Riverside-Fall-2026_Webslider_Web.jpg", //web page, if not for web use false 1122 alt: "Explore fall 2026", 1123 end: "10/5/2026" //ends after this date 1124 }, 1125 // { 1126 // a : "https://riversideca.gov/SlowDown", 1127 // src: "https://riversideca.gov/webslider-img/2026/Slow Down_Webslider_TV311.jpg", //311 page, if not for 311 use false 1128 // web: "https://riversideca.gov/webslider-img/2026/Slow Down_Webslider_Web.jpg", //web page, if not for web use false 1129 // alt: "Slow Down Save Lives Web slider", 1130 // start: "", 1131 // end: "10/5/2026" //ends after this date 1132 // }, 1133 { 1134 a : "https://riversideca.gov/sustainability/ycaf", 1135 src: "https://riversideca.gov/webslider-img/2026/OOS-Youth-Climate-Action-Fund-Webslider_TV311.jpg", //311 page, if not for 311 use false 1136 web: "https://riversideca.gov/webslider-img/2026/OOS-Youth-Climate-Action-Fund-Webslider_Mainpage.jpg", //web page, if not for web use false 1137 alt: "Youth Climate Action Fund", 1138 end: "9/25/2026" //ends after this date 1139 }, 1140 { 1141 a : "https://riversideca.gov/calendar", 1142 src: "https://riversideca.gov/webslider-img/2026/America-250-TV_Explore.jpg", //311 page, if not for 311 use false 1143 web: false, //web page, if not for web use false 1144 alt: "Explore whats happening in Riverside", 1145 end: "" //ends after this date 1146 }, 1147 ]; 1148 1149 function normalize(dateStr) { 1150 const ex = /^(0?[1-9]|1[0-2])[\/-](0?[1-9]|[12][0-9]|3[01])[\/-](\d{2}|\d{4})$/; 1151 let date = null; 1152 let m = ex.exec(dateStr); 1153 if (m) { 1154 const mon = Number( m[1] ); 1155 const day = Number( m[2] ); 1156 let year = m[3]; 1157 if ( year.length == 2) { 1158 year = new Date().getFullYear().toString().slice(0, 2) + year; 1159 } 1160 date = new Date( Number( year ), mon - 1, day ); 1161 } 1162 return date; 1163 } 1164 1165 function startOfToday() { 1166 const d = new Date(); 1167 d.setHours(0, 0, 0, 0); 1168 return d; 1169 } 1170 1171 function hasStarted(startDate) { 1172 const sod = startOfToday(); 1173 if (!startDate) return true; 1174 return startDate <= sod; 1175 } 1176 1177 function isPast(endDate) { 1178 const eod = startOfToday(); 1179 if (!endDate) return false; 1180 return endDate < eod; 1181 } 1182 1183 // show items when start date is today/past and end date is today/future 1184 const DATA = data.filter(item => { 1185 const start = normalize(item.start); 1186 const end = normalize(item.end); 1187 return hasStarted(start) && !isPast(end); 1188 });
1189</script>
1189 1190
1190<script> 1191 1192 var slide = document.querySelector(".carousel-inner"); 1193 1194 let first = true; 1195 let str = ''; 1196 let i = 0; 1197 DATA.forEach( item => { 1198 if( item.web !== false ){ 1199 str += '<div class="item slides '; 1200 if( first ) { str += 'active">'; } 1201 else{ str += '">'; } 1202 1203 const lazyAttrs = first ? '' : ' loading="lazy" decoding="async"'; 1204 first = false; 1205 str += `<a href="${item.a}" target="_blank" rel="noopener noreferrer" aria-label="${item.alt}">`; 1206 str += `<img class="img-responsive" src="${item.web}" alt="${item.alt}" width="1200" height="400"${lazyAttrs}>` 1207 str += "</a></div>"; 1208 i++; 1209 } 1210 } ); 1211 // console.log( str ); 1212 1213 let indictator = document.querySelector( '.carousel-indicators' ); 1214 let s = ''; 1215 for( let j = 0; j < i; j++ ){ 1216 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>` 1217 } 1218 indictator.innerHTML = s; 1219 slide.innerHTML = str; 1220 1221 </script>
1221 1222 </div> 1223 </div> 1224 </div> 1225</div> 1226 1227<div class="col-sm-10 col-sm-offset-1" style="margin-top: 25px;"> 1228 <h1 class="text-center">Welcome to the City of Riverside</h1> 1229</div> 1230 1231<div class="row hexQuickLinkRow" style="margin-top: 25px;"> 1232 <div class="col-sm-12 col-md-10 col-md-offset-1 text-center"> 1233 <div class="socials col-sm-12"> 1234 1235 <a class="quckLinkHexHome yellow" href="https://www.riversideca.gov/readyriverside"> 1236 <div id="hexagon"> <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <p>Ready Riverside</p> 1237 </div> 1238 </a> 1239 1240 <a class="quckLinkHexHome" href="https://www.riversideca.gov/311"> 1241 <div id="hexagon"> <i class="fa fa-info-circle" aria-hidden="true"></i> <p>311 Non-Emergency</p> 1242 </div> 1243 </a> 1244 <a class="quckLinkHexHome" href="https://riversideca.gov/awards"> 1245 <div id="hexagon"><i class="fa fa-trophy" aria-hidden="true"></i> 1246 <p>City<br>Awards</p> 1247 </div> 1248 </a> 1249 <a class="quckLinkHexHome" href="https://riversideca.gov/jobs"> 1250 <div id="hexagon"><i class="fa fa-briefcase" aria-hidden="true"></i> 1251 <p>Job<br>Opportunities</p> 1252 </div> 1253 </a> 1254 <a class="quckLinkHexHome" href="https://www.riversideca.gov/cityclerk/government-meetings"> 1255 <div id="hexagon"><i class="fa fa-users" aria-hidden="true"></i> 1256 <p>Government Meetings</p> 1257 </div> 1258 </a> 1259 <a class="quckLinkHexHome" href="https://billpay.riversideca.gov/iwr/user/login.seam"> 1260 1261 <div id="hexagon"><i class="fa fa-tint" aria-hidden="true"></i> 1262 <p>Pay Your Utility Bill</p> 1263 </div> 1264 </a> 1265 1266 <a class="quckLinkHexHome" href="https://riversideca.gov/utilities/power-outage-information"> 1267 1268 <div id="hexagon"><i class="fa fa-bolt" aria-hidden="true"></i> 1269 <p>Utility Outages</p> 1270 </div> 1271 </a> 1272 1273 <!-- <a href="/vote" class="quckLinkHexHome"> 1274 <div id="hexagon"><i class="fa-solid fa-check-to-slot" aria-hidden="true"></i> 1275 <p>June 2 Ballot Information</p> 1276 </div> 1277 </a> --> 1278 1279 1280 </div> 1281 </div> 1282</div> 1283 1284 1285<div class="row homepage-press-section" style="background-color:#ecf0f1;"> 1286 1287 <div class="wide-container container homepage-press-title-wrap"> 1288 <h2 class="text-center riversideHeader">What's Happening in Riverside</h2> 1289 </div> 1290 1291 <div class="homepage-press-bleed"> 1292 <div class="wide-container container"> 1293 <div class="col-sm-12 col-md-12 col-lg-8 col-lg-offset-2"> 1294 <div class="view view-media-press-release view-id-media_press_release view-display-id-page_7 view-dom-id-1fe389da951f9da358e859a0838e3979"> 1295 <div class="view-content"> 1296 <div class="views-responsive-grid views-responsive-grid-horizontal views-columns-3"> 1297 <div class="views-row-1"> 1298 1299 <div class="views-column-1 is-fallback" id="homepage-press-cards" aria-busy="true" aria-live="polite"> 1300 <div class="views-field views-field-field-press-release-department"> 1301 <div class="field-content"> 1302 <div class=""> 1303<!-- fallback fig 1 (replaced by latest /media cards when JS loads) --> 1304<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> 1305 <div class="date"> 1306 <span class="day">25</span> 1307 <span class="month">June</span></div> 1308 <figcaption> 1309 <h4 class="departmentCard">RPU</h4> 1310 <h4><p>Riverside Public Utilities Power Customers to Benefit From Greater Efficiency, Improved Resiliency</p></h4> 1311 </figcaption> 1312 </figure> 1313 </div> 1314 </div> 1315 </div> 1316 1317 <div class="views-field views-field-field-press-release-department"> 1318 <div class="field-content"> 1319 <div class=""> 1320<!-- fallback fig 2 --> 1321<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> 1322 <div class="date">
1323 <span class="day">11</span> 1324 <span class="month">June</span></div> 1325 <figcaption> 1326 <h4 class="departmentCard">Fire</h4> 1327 <h4><p>Fireworks Are Illegal in the City of Riverside</p></h4> 1328 </figcaption> 1329 </figure> 1330 </div> 1331 </div> 1332 </div> 1333 <div class="views-field views-field-field-press-release-department"> 1334 <div class="field-content"> 1335 <div class=""> 1336<!-- fallback fig 3 --> 1337<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> 1338 <div class="date"> 1339 <span class="day">21</span> 1340 <span class="month">May</span></div> 1341 <figcaption> 1342 <h4 class="departmentCard">Citywide</h4> 1343 <h4><p>City of Riversideâs Sustainability Leadership Continues to Attract National Investment and Recognition</p></h4> 1344 </figcaption> 1345 </figure> 1346 </div> 1347 </div> 1348 </div> 1349 </div> 1350 </div> 1351 </div> 1352 1353 <div class="clearfix" style="clear:both;"></div> 1354 <div class="center-block homepage-press-cta"> 1355 <a href="/media" class="btn btn-hero2 btn-lg btn-block">View All Media</a> 1356 </div> 1357 </div> 1358 </div> 1359 1360<style> 1361/* 1362 Homepage press carousel layout. Keeps figure.pressCard / h4 caption structure 1363 so existing pressCard CSS (padding, date badge) still applies. 1364 Scoped overrides neutralize site float / fixed-height / min-width rules that 1365 break horizontal swipe on phones. 1366 1367 Mobile full-bleed (see @media max-width:767px): 1368 - Title stays in .homepage-press-title-wrap (.container padding intact). 1369 - .homepage-press-bleed uses width:100vw + margin-left:calc(50% - 50vw) 1370 so nesting depth / unknown gutters cannot leave side margins. 1371 - Inner .container / [class*="col-"] padding zeroed on that bleed path only. 1372 - Section overflow-x clips any 100vw scrollbar-gap so the page does not scroll. 1373 - Press cards use normal-flow captions (padding-top:0) so department + title 1374 stay visible under the image; site 188px h4 padding trick is desktop-only. 1375 - Critical: main.css sets figure.pressCard > a { position:absolute; inset:0 }. 1376 With height:auto that pulls the image out of flow, the figure collapses to 1377 the caption box, and the img paints over department/title. Mobile must 1378 force the image link back into normal flow. 1379*/ 1380#homepage-press-cards { 1381 max-width: 100%; 1382 box-sizing: border-box; 1383} 1384.homepage-press-carousel { 1385 position: relative; 1386 display: flex; 1387 align-items: stretch; 1388 gap: 6px; 1389 width: 100%; 1390 max-width: 100%; 1391 margin: 0 auto 8px; 1392 box-sizing: border-box; 1393} 1394.homepage-press-track { 1395 display: flex; 1396 flex: 1 1 auto; 1397 min-width: 0; 1398 max-width: 100%; 1399 overflow-x: auto; 1400 overflow-y: hidden; 1401 scroll-snap-type: x mandatory; 1402 -webkit-overflow-scrolling: touch; 1403 overscroll-behavior-x: contain; 1404 touch-action: pan-x pinch-zoom; 1405 scroll-behavior: smooth; 1406 /* Desktop: exact 3-up â 2 gaps between 3 slides; no peek of card 4 */ 1407 gap: 12px; 1408 padding: 4px 0 12px; 1409 outline: none; 1410 box-sizing: border-box; 1411 scrollbar-width: thin; 1412} 1413.homepage-press-track:focus { 1414 box-shadow: 0 0 0 3px #ecaa00; 1415} 1416.homepage-press-track:focus:not(:focus-visible) { 1417 box-shadow: none; 1418} 1419.homepage-press-track:focus-visible { 1420 box-shadow: 0 0 0 3px #ecaa00; 1421} 1422.homepage-press-slide { 1423 /* (100% - 2Ã12px gap) / 3 â three cards fill the track with no 4th-card peek */ 1424 flex: 0 0 calc((100% - 24px) / 3); 1425 max-width: calc((100% - 24px) / 3); 1426 scroll-snap-align: start; 1427 scroll-snap-stop: normal; 1428 box-sizing: border-box; 1429 padding: 0; 1430 min-width: 0; 1431} 1432.homepage-press-slide .views-field, 1433.homepage-press-slide .field-content, 1434.homepage-press-slide .field-content > div { 1435 height: auto; 1436 max-width: 100%; 1437} 1438.homepage-press-slide figure.pressCard { 1439 float: none !important; 1440 display: block; 1441 position: relative; 1442 margin: 10px auto; 1443 width: 100%; 1444 max-width: 310px; 1445 min-width: 0 !important; /* site CSS uses min-width:220px */ 1446 left: auto !important; 1447 box-sizing: border-box; 1448} 1449.homepage-press-slide figure.pressCard img { 1450 display: block; 1451 width: 100%; 1452 max-width: 100%; 1453 height: auto; 1454} 1455/* Full-card click overlay used by JS render; harmless if absent on fallbacks */ 1456.homepage-press-slide figure.pressCard > a.pressCard-hitarea, 1457#homepage-press-cards figure.pressCard > a.pressCard-hitarea { 1458 position: absolute; 1459 left: 0; 1460 right: 0; 1461 top: 0; 1462 bottom: 0; 1463 z-index: 1; 1464 background: transparent; 1465} 1466.homepage-press-btn { 1467 flex: 0 0 auto; 1468 align-self: center; 1469 width: 44px; 1470 height: 44px;
1471 min-width: 44px; 1472 min-height: 44px; 1473 padding: 0; 1474 border: 2px solid #002856; 1475 border-radius: 4px; 1476 background: #fff; 1477 color: #002856; 1478 font-size: 28px; 1479 line-height: 1; 1480 cursor: pointer; 1481 z-index: 2; 1482 -webkit-tap-highlight-color: transparent; 1483 touch-action: manipulation; 1484} 1485.homepage-press-btn:hover, 1486.homepage-press-btn:focus { 1487 background: #002856; 1488 color: #fff; 1489 outline: none; 1490} 1491.homepage-press-btn:focus-visible { 1492 outline: 3px solid #ecaa00; 1493 outline-offset: 2px; 1494} 1495.homepage-press-btn:disabled { 1496 opacity: 0.35; 1497 cursor: not-allowed; 1498 background: #fff; 1499 color: #002856; 1500} 1501.homepage-press-btn span { 1502 display: block; 1503 transform: translateY(-1px); 1504} 1505/* Fallback (no JS): keep three static cards readable in a row */ 1506#homepage-press-cards.is-fallback { 1507 display: flex; 1508 flex-wrap: wrap; 1509 justify-content: center; 1510 max-width: 100%; 1511} 1512#homepage-press-cards.is-fallback .views-field { 1513 flex: 0 1 310px; 1514 max-width: 100%; 1515} 1516#homepage-press-cards.is-fallback figure.pressCard { 1517 float: none !important; 1518 margin-left: auto; 1519 margin-right: auto; 1520 min-width: 0 !important; 1521 max-width: min(310px, 100%); 1522} 1523@media (max-width: 991px) { 1524 /* Exact 2-up: one gap between two slides */ 1525 .homepage-press-slide { 1526 flex-basis: calc((100% - 12px) / 2); 1527 max-width: calc((100% - 12px) / 2); 1528 } 1529} 1530/* 1531 Phone / small tablet: true viewport full-bleed for carousel + CTA. 1532 Title remains in its own padded container sibling. 1533*/ 1534@media (max-width: 767px) { 1535 .homepage-press-section { 1536 overflow-x: clip; 1537 overflow-x: hidden; /* fallback */ 1538 box-sizing: border-box; 1539 } 1540 /* Nesting-agnostic breakout (works even if parent chain adds unknown padding) */ 1541 .homepage-press-bleed { 1542 width: 100vw; 1543 max-width: 100vw; 1544 margin-left: calc(50% - 50vw); 1545 margin-right: 0; 1546 box-sizing: border-box; 1547 padding-left: env(safe-area-inset-left, 0px); 1548 padding-right: env(safe-area-inset-right, 0px); 1549 } 1550 .homepage-press-bleed > .wide-container.container, 1551 .homepage-press-bleed > .container { 1552 width: 100% !important; 1553 max-width: none !important; 1554 padding-left: 0 !important; 1555 padding-right: 0 !important; 1556 } 1557 .homepage-press-bleed [class*="col-"] { 1558 padding-left: 0 !important; 1559 padding-right: 0 !important; 1560 float: none; 1561 width: 100%; 1562 margin-left: 0 !important; 1563 } 1564 #homepage-press-cards { 1565 width: 100%; 1566 max-width: 100%; 1567 margin: 0; 1568 box-sizing: border-box; 1569 } 1570 .homepage-press-carousel { 1571 display: flex; 1572 flex-wrap: wrap; 1573 justify-content: center; 1574 align-items: flex-start; 1575 gap: 8px 12px; 1576 width: 100%; 1577 max-width: 100%; 1578 margin: 0 0 4px; 1579 padding: 0; 1580 } 1581 .homepage-press-track, 1582 #homepage-press-cards .homepage-press-track { 1583 flex: 1 1 100%; 1584 order: 1; 1585 width: 100%; 1586 padding: 4px 0 8px; 1587 /* 1588 overflow-x:auto forces overflow-y to compute to auto (not visible). 1589 Keep the track tall enough for image+caption so nothing clips. 1590 */ 1591 overflow-x: auto !important; 1592 overflow-y: hidden !important; 1593 align-items: stretch; 1594 height: auto !important; 1595 max-height: none !important; 1596 } 1597 .homepage-press-slide, 1598 #homepage-press-cards .homepage-press-slide { 1599 /* ~90% viewport primary card + clear peek of next */ 1600 flex-basis: 90%; 1601 max-width: 90%; 1602 padding: 0 6px; 1603 scroll-snap-align: center; 1604 scroll-snap-stop: always; 1605 height: auto !important; 1606 max-height: none !important; 1607 min-height: 0 !important; 1608 overflow: visible !important; 1609 align-self: flex-start; 1610 } 1611 .homepage-press-slide .views-field, 1612 .homepage-press-slide .field-content, 1613 .homepage-press-slide .field-content > div, 1614 #homepage-press-cards .views-field, 1615 #homepage-press-cards .field-content, 1616 #homepage-press-cards .field-content > div { 1617 height: auto !important; 1618 max-height: none !important; 1619 overflow: visible !important; 1620 } 1621 /* 1622 Beat main.css + homepage-css.inc fixed card chrome on phones. 1623 Dual selectors: carousel slides AND #homepage-press-cards fallbacks. 1624 */ 1625 .homepage-press-bleed figure.pressCard, 1626 #homepage-press-cards figure.pressCard, 1627 .homepage-press-slide figure.pressCard { 1628 margin: 8px auto !important; 1629 float: none !important; 1630 width: 100% !important; 1631 max-width: 100% !important; 1632 min-width: 0 !important; 1633 left: auto !important; 1634 height: auto !important; 1635 min-height: 0 !important; 1636 max-height: none !important; 1637 overflow: visible !important; 1638 color: #333 !important; 1639 background-color: #fff !important; 1640 } 1641 /* 1642 ROOT CAUSE FIX: main.css figure.pressCard a { position:absolute; inset:0 }. 1643 Absolute link removes the image from flow. With height:auto the figure 1644 collapses to the caption, and the img paints over department + title. 1645 Put the image link back in normal flow on mobile (not the hitarea). 1646 */ 1647 .homepage-press-bleed figure.pressCard > a:not(.pressCard-hitarea), 1648 #homepage-press-cards figure.pressCard > a:not(.pressCard-hitarea), 1649 .homepage-press-slide figure.pressCard > a:not(.pressCard-hitarea) { 1650 position: static !important; 1651 left: auto !important; 1652 right: auto !important; 1653 top: auto !important; 1654 bottom: auto !important; 1655 display: block !important; 1656 width: 100% !important; 1657 height: auto !important; 1658 z-index: auto !important; 1659 } 1660 /* Keep full-card click target; transparent overlay above image, under date */ 1661 .homepage-press-bleed figure.pressCard > a.pressCard-hitarea, 1662 #homepage-press-cards figure.pressCard > a.pressCard-hitarea, 1663 .homepage-press-slide figure.pressCard > a.pressCard-hitarea, 1664 .homepage-press-slide figure.pressCard a.pressCard-hitarea { 1665 position: absolute !important; 1666 left: 0 !important; 1667 right: 0 !important; 1668 top: 0 !important; 1669 bottom: 0 !important; 1670 display: block !important; 1671 width: auto !important; 1672 height: auto !important; 1673 z-index: 1 !important; 1674 background: transparent !important; 1675 } 1676 .homepage-press-bleed figure.pressCard img, 1677 #homepage-press-cards figure.pressCard img, 1678 .homepage-press-slide figure.pressCard img { 1679 display: block !important; 1680 width: 100% !important; 1681 max-width: 100% !important; 1682 height: auto !important; 1683 max-height: 220px !important; 1684 object-fit: cover; 1685 } 1686 .homepage-press-bleed figure.pressCard .date, 1687 #homepage-press-cards figure.pressCard .date, 1688 .homepage-press-slide figure.pressCard .date { 1689 z-index: 2 !important; 1690 } 1691 .homepage-press-bleed figure.pressCard figcaption, 1692 #homepage-press-cards figure.pressCard figcaption, 1693 .homepage-press-slide figure.pressCard figcaption { 1694 position: relative !important; 1695 display: block !important; 1696 height: auto !important; 1697 min-height: 0 !important; 1698 max-height: none !important; 1699 margin-top: 0 !important; 1700 padding: 12px 14px 18px !important; 1701 overflow: visible !important; 1702 background-color: #fff !important; 1703 } 1704 .homepage-press-bleed figure.pressCard h4, 1705 #homepage-press-cards figure.pressCard h4, 1706 .homepage-press-slide figure.pressCard h4 { 1707 font-size: 16px !important; 1708 padding-top: 0 !important; 1709 margin: 0 0 6px !important; 1710 color: #002856 !important; 1711 word-wrap: break-word !important; 1712 overflow-wrap: break-word !important; 1713 white-space: normal !important; 1714 overflow: visible !important; 1715 text-overflow: clip !important; 1716 max-height: none !important; 1717 -webkit-line-clamp: unset !important; 1718 line-clamp: unset !important; 1719 } 1720 .homepage-press-bleed figure.pressCard h4.departmentCard, 1721 .homepage-press-bleed figure.pressCard .departmentCard, 1722 #homepage-press-cards figure.pressCard h4.departmentCard, 1723 #homepage-press-cards figure.pressCard .departmentCard, 1724 .homepage-press-slide figure.pressCard h4.departmentCard, 1725 .homepage-press-slide figure.pressCard .departmentCard { 1726 display: block !important; 1727 visibility: visible !important; 1728 opacity: 1 !important; 1729 padding-top: 0 !important; 1730 margin: 0 0 6px !important; 1731 color: #ecaa00 !important; 1732 font-weight: 600 !important; 1733 } 1734 .homepage-press-bleed figure.pressCard h4 p, 1735 #homepage-press-cards figure.pressCard h4 p, 1736 .homepage-press-slide figure.pressCard h4 p { 1737 margin-top: 0 !important; 1738 margin-bottom: 0 !important; 1739 padding: 0 !important; 1740 padding-top: 0 !important; 1741 color: #002856 !important; 1742 font-size: 16px !important; 1743 line-height: 1.35 !important; 1744 white-space: normal !important; 1745 overflow: visible !important; 1746 text-overflow: clip !important; 1747 max-height: none !important; 1748 -webkit-line-clamp: unset !important; 1749 line-clamp: unset !important; 1750 } 1751 /* Prev/Next below the track â never overlay the date badge */ 1752 .homepage-press-btn { 1753 position: static; 1754 top: auto; 1755 left: auto; 1756 right: auto; 1757 transform: none; 1758 order: 2; 1759 width: 48px; 1760 height: 48px; 1761 min-width: 48px; 1762 min-height: 48px; 1763 font-size: 28px; 1764 background: #fff; 1765 box-shadow: none; 1766 } 1767 .homepage-press-btn:hover, 1768 .homepage-press-btn:focus { 1769 background: #002856; 1770 } 1771 .homepage-press-btn:disabled { 1772 background: #fff; 1773 } 1774 .homepage-press-cta { 1775 width: 100%; 1776 max-width: 100%; 1777 margin: 8px 0 4px; 1778 padding: 0 16px; 1779 box-sizing: border-box; 1780 } 1781 .homepage-press-cta .btn { 1782 display: block; 1783 width: 100%; 1784 max-width: 100%; 1785 box-sizing: border-box; 1786 font-size: 18px; 1787 line-height: 1.3; 1788 padding: 14px 20px; 1789 } 1790} 1791/* Small phones: swipe + scrollbar only (no arrow chrome) */ 1792@media (max-width: 480px) { 1793 .homepage-press-btn { 1794 display: none; 1795 } 1796 .homepage-press-slide { 1797 flex-basis: 88%; 1798 max-width: 88%; 1799 } 1800 .homepage-press-cta { 1801 padding: 0 12px; 1802 } 1803} 1804@media (prefers-reduced-motion: reduce) { 1805 .homepage-press-track { 1806 scroll-behavior: auto; 1807 } 1808} 1809</style>
1810<script> 1811/* 1812============================================================================== 1813 HOMEPAGE PRESS CAROUSEL â /inc/cor-new/homepage-press-data.inc 1814============================================================================== 1815 Included from default.asp near the "What's Happening" press section. 1816 1817 PURPOSE 1818 ------- 1819 Builds a horizontal carousel of homepage press cards from /media (or from 1820 manual overrides). Users can page with Previous/Next, keyboard arrows, or 1821 touch swipe (CSS scroll-snap). Roughly three cards show at a time on desktop. 1822 1823 WHERE TO EDIT 1824 ------------- 1825 Edit ONLY the window.HOMEPAGE_PRESS config object below (autoFromMedia, 1826 count, mediaUrl, overrides). Do not change the IIFE unless you are updating 1827 fetch/render/carousel logic. 1828 1829 Also see: 1830 ⢠default.asp â #homepage-press-cards (static fallback HTML + SSI include) 1831 ⢠Local work-folder README.md (editors' summary; do not deploy README) 1832 1833------------------------------------------------------------------------------ 1834 HOW AUTO + CAROUSEL MODE WORKS (default) 1835------------------------------------------------------------------------------ 1836 1. Page loads with static <figure> fallbacks in default.asp (if JS fails). 1837 2. This script fetches mediaUrl (default "/media") same-origin. 1838 3. It parses figure.pressCard elements (latest first; duplicate hrefs skipped). 1839 4. It builds up to "count" cards (default 24 â a large set, not just 3): 1840 - overrides[i] as an object pins that slide index (0 = first card). 1841 - overrides[i] as null (or missing) is filled from /media. 1842 - Remaining feed items fill later slides until "count" is reached. 1843 5. Pinned stories are excluded from auto-fill so they are not duplicated. 1844 6. #homepage-press-cards is replaced with the carousel (track + buttons). 1845 1846------------------------------------------------------------------------------ 1847 OVERRIDES IN CAROUSEL MODE 1848------------------------------------------------------------------------------ 1849 Overrides still mean âpin this story at this slide index,â not âonly show 3.â 1850 1851 ⢠Pin the first slide, auto-fill the rest from /media: 1852 overrides: [ { href, title, ... }, null, null ] 1853 (You only need as many override entries as pins; extra nulls optional.) 1854 1855 ⢠Pin slides 1 and 3 (indexes 0 and 2); all other slides from /media: 1856 overrides: [ { ... }, null, { ... } ] 1857 1858 ⢠Fully manual carousel (no /media fetch) â only listed objects, in order: 1859 autoFromMedia: false, 1860 overrides: [ { ... }, { ... }, { ... } ] 1861 1862 ⢠All automatic (default): 1863 autoFromMedia: true, 1864 overrides: [ null, null, null ], 1865 count: 24 1866 1867 Tip: Raising "count" shows more of /media in the carousel (swipe/page farther). 1868 Lowering it shortens the carousel. Overrides beyond count-1 are ignored. 1869 1870------------------------------------------------------------------------------ 1871 HOW TO USE (visitors) 1872------------------------------------------------------------------------------ 1873 Desktop: Previous / Next buttons, or focus the card strip and use â â. 1874 Tablet (~â¤991px): ~2 cards; phone (~â¤767px): one primary card (~88â90% vw) 1875 + peek of next. Mobile full-bleed uses .homepage-press-bleed (100vw breakout 1876 + zeroed container/col padding). Prev/Next sit below the track on phones; 1877 hidden on â¤480px (swipe + thin scrollbar). âView All Mediaâ matches bleed width. 1878 1879------------------------------------------------------------------------------ 1880 FIELD REFERENCE (override objects) 1881------------------------------------------------------------------------------ 1882 Required: 1883 href Link to the press/media article (absolute or site-relative). 1884 title Headline shown under the department label. 1885 1886 Strongly recommended: 1887 img Image URL (medium style from Drupal is typical). 1888 alt Image alt text (defaults to title if omitted). 1889 day Day number as shown on the card (e.g. "22"). 1890 month Month abbreviation/name (e.g. "Jul" or "July"). 1891 department Department label (defaults to "News" if omitted; prefer real 1892 dept from /media .departmentCard when auto-filling). 1893 1894 Optional: 1895 width Image width attribute (default 220). 1896 height Image height attribute (default 160). 1897 1898 Config keys on window.HOMEPAGE_PRESS: 1899 autoFromMedia true = fill empty slots from /media; false = overrides only. 1900 count Max slides to show (default 24). Was â3 slotsâ; now carousel size. 1901 mediaUrl Path/URL to fetch (default "/media"). 1902 overrides Sparse pin list: object or null at each slide index. 1903 1904------------------------------------------------------------------------------ 1905 ACCESSIBILITY NOTES 1906------------------------------------------------------------------------------ 1907 ⢠Carousel has role="region", aria-roledescription="carousel". 1908 ⢠Slides use role="group", aria-roledescription="slide", "n of N" labels. 1909 ⢠Prev/Next buttons have accessible names; disabled at ends; â¥44Ã44px. 1910 ⢠Track is keyboard-focusable (tabindex="0"); arrow keys page the strip. 1911 ⢠prefers-reduced-motion disables smooth scrolling. 1912 ⢠Captions keep h4 / .departmentCard so existing pressCard CSS still works. 1913 ⢠Mobile CSS scopes overrides (float/min-width/fixed height) under the 1914 carousel only so /media page cards are unchanged. 1915 1916------------------------------------------------------------------------------ 1917 TROUBLESHOOTING 1918------------------------------------------------------------------------------ 1919 ⢠Cards look outdated after publish: 1920 Hard-refresh the homepage. Confirm this include is deployed to 1921 /inc/cor-new/homepage-press-data.inc and default.asp still SSI-includes it. 1922 1923 ⢠Fetch fails / network error / /media markup changes: 1924 Static fallback figures in default.asp remain; aria-busy becomes false. 1925 Update those fallbacks if you want fresher offline defaults. 1926 1927 ⢠Override not showing: 1928 Check commas/quotes. Need at least href + title. Invalid objects ignored. 1929 1930 ⢠Duplicate story: 1931 Auto-fill skips pinned hrefs. Pinning the same href twice still shows twice. 1932 1933 ⢠Want a different source page: 1934 Change mediaUrl (must return HTML with figure.pressCard markup). 1935 1936 ⢠Carousel feels too short/long: 1937 Adjust count (e.g. 12, 24, 36). 1938 1939 ⢠Mobile: side margins / smushed cards / arrow over date badge: 1940 Full-bleed is .homepage-press-bleed in default.asp + this fileâs CSS 1941 (100vw + calc(50% - 50vw), not a fixed -30px guess). Site .pressCard 1942 float / fixed height / min-width:220px are overridden inside the 1943 carousel only â do not globally change homepage-css.inc unless /media 1944 cards also need a change. 1945============================================================================== 1946*/ 1947window.HOMEPAGE_PRESS = { 1948 autoFromMedia: true, 1949 /* Max slides in the carousel (large set from /media). Raise to show more. */ 1950 count: 24, 1951 mediaUrl: "/media", 1952 overrides: [ 1953 null, // slide 1 (index 0) â set an object here to pin this card 1954 null, // slide 2 1955 null // slide 3 â further slides fill from /media automatically 1956 1957 // Example override (paste into a slot above, replace null): 1958 // { 1959 // href: "https://www.riversideca.gov/press/example-story", 1960 // img: "https://www.riversideca.gov/sites/default/files/styles/medium/public/press/img/example.jpg", 1961 // alt: "Example story image", 1962 // day: "22", 1963 // month: "Jul", 1964 // department: "Citywide", 1965 // title: "Example story headline", 1966 // width: 220, 1967 // height: 160 1968 // } 1969 ] 1970}; 1971 1972(function () { 1973 function escapeHtml(value) { 1974 return String(value == null ? "" : value) 1975 .replace(/&/g, "&") 1976 .replace(/</g, "<") 1977 .replace(/>/g, ">") 1978 .replace(/"/g, """) 1979 .replace(/'/g, "'"); 1980 } 1981 1982 function decodeEntities(value) { 1983 var textarea = document.createElement("textarea"); 1984 textarea.innerHTML = value == null ? "" : String(value); 1985 return textarea.value.replace(/\s+/g, " ").trim(); 1986 } 1987 1988 function absoluteUrl(url) { 1989 try { 1990 return new URL(url, window.location.origin).href; 1991 } catch (e) { 1992 return url; 1993 } 1994 } 1995 1996 function normalizeCard(card) { 1997 if (!card || !card.href || !card.title) return null; 1998 var dept = (card.department == null ? "" : String(card.department)).replace(/\s+/g, " ").trim(); 1999 return { 2000 href: absoluteUrl(card.href), 2001 img: absoluteUrl(card.img || ""), 2002 alt: card.alt || card.title, 2003 day: card.day || "", 2004 month: card.month || "", 2005 department: dept || "News", 2006 title: decodeEntities(card.title), 2007 width: card.width || 220, 2008 height: card.height || 160 2009 }; 2010 } 2011 2012 function parseCardsFromMediaHtml(html) { 2013 var doc = new DOMParser().parseFromString(html, "text/html"); 2014 var figures = doc.querySelectorAll("figure.pressCard"); 2015 var cards = []; 2016 var seen = {}; 2017 for (var i = 0; i < figures.length; i++) { 2018 var fig = figures[i]; 2019 var link = fig.querySelector("a[href]"); 2020 var img = fig.querySelector("img"); 2021 var dayEl = fig.querySelector(".date .day"); 2022 var monthEl = fig.querySelector(".date .month"); 2023 var deptEl = fig.querySelector(".departmentCard") || 2024 fig.querySelector("figcaption h4.departmentCard") || 2025 fig.querySelector("h4.departmentCard"); 2026 var titleEl = fig.querySelector("figcaption h4:not(.departmentCard) p") || 2027 fig.querySelector("figcaption h4:not(.departmentCard)") || 2028 fig.querySelector("figcaption p"); 2029 if (!link || !titleEl) continue; 2030 var deptText = deptEl ? deptEl.textContent.replace(/\s+/g, " ").trim() : ""; 2031 var card = normalizeCard({ 2032 href: link.getAttribute("href"), 2033 img: img ? (img.getAttribute("src") || "") : "", 2034 alt: img ? (img.getAttribute("alt") || "") : "", 2035 day: dayEl ? dayEl.textContent.trim() : "", 2036 month: monthEl ? monthEl.textContent.trim() : "", 2037 department: deptText, 2038 title: titleEl.textContent, 2039 width: img ? img.getAttribute("width") : 220, 2040 height: img ? img.getAttribute("height") : 160 2041 }); 2042 if (!card || seen[card.href]) continue; 2043 seen[card.href] = true; 2044 cards.push(card); 2045 } 2046 return cards; 2047 } 2048 2049 function renderCard(card) { 2050 var lazy = ' loading="lazy" decoding="async"'; 2051 var href = escapeHtml(card.href); 2052 var title = escapeHtml(card.title); 2053 var dept = escapeHtml(card.department); 2054 return '' + 2055 '<div class="views-field views-field-field-press-release-department">' + 2056 '<div class="field-content"><div class="">' + 2057 '<figure class="pressCard card-1">' + 2058 '<a href="' + href + '" aria-label="' + title + '">' + 2059 '<img typeof="foaf:Image" class="img-responsive" src="' + escapeHtml(card.img) + '"' + 2060 ' width="' + escapeHtml(card.width) + '" height="' + escapeHtml(card.height) + '"' + 2061 ' alt="' + escapeHtml(card.alt) + '"' + lazy + '>' + 2062 '</a>' + 2063 '<div class="date">' + 2064 '<span class="day">' + escapeHtml(card.day) + '</span>' + 2065 '<span class="month">' + escapeHtml(card.month) + '</span>' + 2066 '</div>' + 2067 '<figcaption>' + 2068 '<h4 class="departmentCard">' + dept + '</h4>' + 2069 '<h4><p>' + title + '</p></h4>' +
2070 '</figcaption>' + 2071 /* Transparent full-card hit target (desktop absolute <a> is static on mobile) */ 2072 '<a class="pressCard-hitarea" href="' + href + '" tabindex="-1" aria-hidden="true"></a>' + 2073 '</figure>' + 2074 '</div></div>' + 2075 '</div>'; 2076 } 2077 2078 function mergeCards(config, feedCards) { 2079 var maxCount = config.count || 24; 2080 var overrides = config.overrides || []; 2081 var slots = []; 2082 var i; 2083 2084 if (config.autoFromMedia === false) { 2085 for (i = 0; i < overrides.length; i++) { 2086 var manual = normalizeCard(overrides[i]); 2087 if (manual) slots.push(manual); 2088 } 2089 return slots.slice(0, maxCount); 2090 } 2091 2092 for (i = 0; i < maxCount; i++) { 2093 slots[i] = i < overrides.length ? normalizeCard(overrides[i]) : null; 2094 } 2095 2096 var used = {}; 2097 for (i = 0; i < slots.length; i++) { 2098 if (slots[i]) used[slots[i].href] = true; 2099 } 2100 2101 var feedIndex = 0; 2102 for (i = 0; i < slots.length; i++) { 2103 if (slots[i]) continue; 2104 while (feedIndex < feedCards.length && used[feedCards[feedIndex].href]) { 2105 feedIndex++; 2106 } 2107 if (feedIndex < feedCards.length) { 2108 slots[i] = feedCards[feedIndex]; 2109 used[feedCards[feedIndex].href] = true; 2110 feedIndex++; 2111 } 2112 } 2113 2114 return slots.filter(Boolean); 2115 } 2116 2117 function prefersReducedMotion() { 2118 return window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches; 2119 } 2120 2121 function pageScrollAmount(track) { 2122 if (!track) return 0; 2123 var slide = track.querySelector(".homepage-press-slide"); 2124 if (!slide) return Math.max(track.clientWidth * 0.9, 200); 2125 var styles = window.getComputedStyle(track); 2126 var gap = parseFloat(styles.columnGap || styles.gap) || 0; 2127 /* Page by ~one viewport of slides (desktop â 3; phone â 1 with peek). */ 2128 var slideWidth = slide.offsetWidth + gap; 2129 if (!slideWidth) return Math.max(track.clientWidth * 0.85, 160); 2130 var perPage = Math.max(1, Math.round(track.clientWidth / slideWidth)); 2131 return slideWidth * perPage; 2132 } 2133 2134 function updateCarouselControls(track, prevBtn, nextBtn) { 2135 if (!track || !prevBtn || !nextBtn) return; 2136 var maxScroll = Math.max(0, track.scrollWidth - track.clientWidth); 2137 var left = track.scrollLeft; 2138 var epsilon = 4; 2139 prevBtn.disabled = left <= epsilon; 2140 nextBtn.disabled = left >= maxScroll - epsilon; 2141 } 2142 2143 function scrollTrackBy(track, direction) { 2144 if (!track) return; 2145 var amount = pageScrollAmount(track) * direction; 2146 var behavior = prefersReducedMotion() ? "auto" : "smooth"; 2147 if (typeof track.scrollBy === "function") { 2148 track.scrollBy({ left: amount, behavior: behavior }); 2149 } else { 2150 track.scrollLeft += amount; 2151 } 2152 } 2153 2154 function initCarousel(root) { 2155 var carousel = root.querySelector(".homepage-press-carousel"); 2156 var track = root.querySelector(".homepage-press-track"); 2157 var prevBtn = root.querySelector(".homepage-press-prev"); 2158 var nextBtn = root.querySelector(".homepage-press-next"); 2159 if (!carousel || !track || !prevBtn || !nextBtn) return; 2160 2161 function refresh() { 2162 updateCarouselControls(track, prevBtn, nextBtn); 2163 } 2164 2165 prevBtn.addEventListener("click", function () { 2166 scrollTrackBy(track, -1); 2167 }); 2168 nextBtn.addEventListener("click", function () { 2169 scrollTrackBy(track, 1); 2170 }); 2171 2172 track.addEventListener("scroll", refresh, { passive: true }); 2173 track.addEventListener("keydown", function (event) { 2174 if (event.key === "ArrowLeft") { 2175 event.preventDefault(); 2176 scrollTrackBy(track, -1); 2177 } else if (event.key === "ArrowRight") { 2178 event.preventDefault(); 2179 scrollTrackBy(track, 1); 2180 } else if (event.key === "Home") { 2181 event.preventDefault(); 2182 track.scrollTo({ left: 0, behavior: prefersReducedMotion() ? "auto" : "smooth" }); 2183 } else if (event.key === "End") { 2184 event.preventDefault(); 2185 track.scrollTo({ 2186 left: track.scrollWidth, 2187 behavior: prefersReducedMotion() ? "auto" : "smooth" 2188 }); 2189 } 2190 });
2191 2192 window.addEventListener("resize", refresh); 2193 refresh(); 2194 /* After images load, scrollWidth can change â refresh once. */ 2195 window.setTimeout(refresh, 400); 2196 } 2197 2198 function paint(cards) { 2199 var mount = document.getElementById("homepage-press-cards"); 2200 if (!mount) return; 2201 if (!cards.length) return; 2202 2203 var total = cards.length; 2204 var slides = cards.map(function (card, index) { 2205 return '' + 2206 '<div class="homepage-press-slide" role="group" aria-roledescription="slide" ' + 2207 'aria-label="' + escapeHtml((index + 1) + " of " + total) + '">' + 2208 renderCard(card) + 2209 '</div>'; 2210 }).join(""); 2211 2212 mount.classList.remove("is-fallback"); 2213 mount.innerHTML = '' + 2214 '<div class="homepage-press-carousel" role="region" aria-roledescription="carousel" ' + 2215 'aria-label="What\'s Happening press stories">' + 2216 '<button type="button" class="homepage-press-btn homepage-press-prev" ' + 2217 'aria-label="Previous press stories" aria-controls="homepage-press-track">' + 2218 '<span aria-hidden="true">‹</span>' + 2219 '</button>' + 2220 '<div class="homepage-press-track" id="homepage-press-track" tabindex="0">' + 2221 slides + 2222 '</div>' + 2223 '<button type="button" class="homepage-press-btn homepage-press-next" ' + 2224 'aria-label="Next press stories" aria-controls="homepage-press-track">' + 2225 '<span aria-hidden="true">›</span>' + 2226 '</button>' + 2227 '</div>'; 2228 mount.setAttribute("aria-busy", "false");
2229 initCarousel(mount); 2230 } 2231 2232 function loadHomepagePress() { 2233 var config = window.HOMEPAGE_PRESS || { autoFromMedia: true, count: 24, overrides: [] }; 2234 var mount = document.getElementById("homepage-press-cards"); 2235 if (!mount) return; 2236 2237 if (config.autoFromMedia === false) { 2238 paint(mergeCards(config, [])); 2239 return; 2240 } 2241 2242 var url = config.mediaUrl || "/media"; 2243 fetch(url, { credentials: "same-origin" }) 2244 .then(function (res) { 2245 if (!res.ok) throw new Error("Media fetch failed: " + res.status); 2246 return res.text(); 2247 }) 2248 .then(function (html) { 2249 paint(mergeCards(config, parseCardsFromMediaHtml(html))); 2250 }) 2251 .catch(function () { 2252 // Keep the static fallback markup already in the page. 2253 if (mount) { 2254 mount.classList.add("is-fallback"); 2255 mount.setAttribute("aria-busy", "false"); 2256 } 2257 }); 2258 } 2259 2260 if (document.readyState === "loading") { 2261 document.addEventListener("DOMContentLoaded", loadHomepagePress); 2262 } else { 2263 loadHomepagePress(); 2264 } 2265})(); 2266</script>
2266 2267 2268 </div> 2269 </div> 2270 </div> 2271</div> 2272 2273 2274 2275 2276 <div class="container"> 2277 2278 <header role="banner" id="page-header"> 2279 2280 </header> <!-- /#page-header --> 2281 2282 <div class="row"> 2283 2284 2285 <section class="col-sm-12"> 2286 2287 2288 2289 <!--<div class="row welcome-message"> 2290 <div class="col-sm-12"> 2291 <h1 class="text-center" style="color:#0e2f51">Welcome to the City of Riverside</h1> 2292 <div class="col-md-10 col-md-offset-1"> 2293 <p class="text-center">The community of Riverside offers a vibrant lifestyle for both your personal and professional life. Between 2294 thriving education institutions for all ages, a variety of parks and spaces, and its commitment to culture and the arts.</p> 2295 <p class="text-center">Experience the many wonderful restaurants, outdoor areas, and entertainment venues Riverside has to offer. Whether you're 2296 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> 2297 </div> 2298 </div> 2299 </div>--> 2300 2301 <div class="row hexDropRow"> 2302 <div class="col-sm-4 col-md-3"> 2303 <div class="hexDropDown"> 2304 <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"> 2305 <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> 2306 <h3 class="text-center" style="color:#0e2f51">APPLY FOR A...</h3> 2307 <p class="text-center">Whether you're looking to apply for a library card, license, passport, or permit you'll find it below.</p> 2308 </div> 2309 <div id="apply-fors" class="collapse home-link-links"> 2310 <ul style="padding-left:25px;"> 2311 <li class="marginBottomTen marginTopTen"><a href="https://www.riversideca.gov/cedd/building-safety/building-safety-services/permits">Building Permit</a></li> 2312 <li class="marginBottomTen"><a href="/finance/license.asp">Business License</a></li> 2313 <li class="marginBottomTen"><a href="https://www.riversidegotransit.com/">Discounted Bus Pass</a></li> 2314 <li class="marginBottomTen"><a href="https://www.riversideca.gov/human/employee-hub/internships">Internship Opportunities</a></li> 2315 <li class="marginBottomTen"><a href="http://cityjobs.riversideca.gov">Jobs</a></li> 2316 <li class="marginBottomTen"><a href="https://read.riversideca.gov/patronaccount/selfregister.aspx" target="_blank">Library Card</a></li> 2317 <li class="marginBottomTen"><a href="https://www.riversideca.gov/cityclerk//cityclerk/passport">Passport</a></li> 2318 <li class="marginBottomTen"><a href="https://riversideca.gov/publicworks/other-services/animal-services">Pet License</a></li> 2319 <li class="marginBottomTen"><a href="https://www.riversideca.gov/publicworks/engineering/engineering/public-works-permitting">Public Works Permit</a></li> 2320 <li class="marginBottomTen"><a href="https://www.riversideca.gov/utilities/residents/rebates.asp">Rebate</a></li> 2321 <li class="marginBottomTen"><a href="https://riversideca.gov/cedd/arts-cultural-affairs/forms-permits/special-events">Special Event Permit</a></li> 2322 <li class="marginBottomTen"><a href="https://www.riversideca.gov/human/volunteer">Volunteer Opportunities</a></li> 2323 </ul> 2324 </div> 2325 <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> 2326 </div> 2327 </div> 2328 <div class="col-sm-4 col-md-3"> 2329 <div class="hexDropDown"> 2330 <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"> 2331 <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> 2332 <h3 class="text-center" style="color:#0e2f51">PAY MY...</h3> 2333 <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> 2334 </div> 2335 <div id="pay-my" class="collapse home-link-links"> 2336 <ul style="padding-left:25px;"> 2337 <li class="marginBottomTen marginTopTen"><a href="https://arpay.riversideca.gov">AR Invoice</a></li> 2338 <li class="marginBottomTen"><a href="https://riverside.hdlgov.com/">Business License Renewal</a></li> 2339 <li class="marginBottomTen"><a href="http://www.riversideca.gov/fire/payment/">Fire Department Fees</a></li> 2340 <li class="marginBottomTen"><a href="https://pdalarm.riversideca.gov/">False Alarm Penalties</a></li> 2341 <li class="marginBottomTen"><a href="https://spov2.comprisesmartpay.com/?ID=RiversideCASP">Library Fees & Fines</a></li> 2342 <li class="marginBottomTen"><a href="https://apm.activecommunities.com/riversideprcsd">Parks & Recreation Activities</a></li> 2343 <li class="marginBottomTen"><a href="https://riverside.citationinfo.com/CitationSearch.aspx" target="_blank">Parking Citation </a></li> 2344 <li class="marginBottomTen"><a href="https://riversidecounty.docupet.com/en_US/">Pet License</a></li> 2345 <li class="marginBottomTen"><a href="/finance/licensetot.asp">Transient Occupancy Tax (T.O.T.)</a></li> 2346 <li class="marginBottomTen"><a href="https://billpay.riversideca.gov/iwr/user/login.seam">Utility Bill</a></li> 2347 2348 </ul> 2349 </div> 2350 <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> 2351 </div> 2352 </div> 2353 2354 <div class="col-sm-4 col-md-3"> 2355 <div class="hexDropDown"> 2356 <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"> 2357 <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> 2358 <h3 class="text-center" style="color:#0e2f51">REPORT A...</h3> 2359 <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> 2360 </div> 2361 <div id="report-a" class="collapse home-link-links"> 2362 <ul style="padding-left:25px;"> 2363 <li class="marginBottomTen"><a href="https://riversideca.gov/code/">Code Violation</a></li> 2364 <li class="marginBottomTen marginTopTen"> <a href="https://www.riversideca.gov/rpd/about-contact/administration/support-services/dispat
2364ch">Crime in progress</a></li> 2365 <li class="marginBottomTen"><a href="https://crmweb.riversideca.gov/">Graffiti</a></li> 2366 <li class="marginBottomTen"><a href="https://www.riversideca.gov/utilities/residents/contact-us">Street Light Outage</a></li> 2367 </ul> 2368 </div> 2369 <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> 2370 </div> 2371 </div> 2372 2373 <div class="col-sm-4 col-md-3"> 2374 <div class="hexDropDown"> 2375 <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"> 2376 <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> 2377 <h3 class="text-center" style="color:#0e2f51">HOW DO I...</h3> 2378 <p class="text-center">Whether you're looking to volunteer or contact a representative you'll find it below.</p> 2379 </div> 2380 <div id="how-do" class="collapse home-link-links"> 2381 <ul style="padding-left:25px;"> 2382 <li class="marginBottomTen"><a href="https://riversideca.legistar.com/Calendar.aspx">All Meeting Agendas</a></li> 2383 <li class="marginBottomTen"><a href="https://www.riversideca.gov/human/employee-hub/internships">Apply for an Internship</a></li> 2384 <li class="marginBottomTen"><a href="https://www.riversideca.gov/citymanager/lgbtq-liaison">Contact LGBTQ Liaison</a></li> 2385 <li class="marginBottomTen"><a href="http://www.riversideca.gov/council/">Contact My Council Representative</a></li> 2386 <li class="marginBottomTen"><a href="https://riversideca.gov/mayor/contact">Contact the Mayor</a></li> 2387 <li class="marginBottomTen"><a href="https://cityofriverside.maps.arcgis.com/apps/webappviewer/index.html?id=11ce33add2f9410d8d79b03bb8656722">Find My Ward</a></li> 2388 <li class="marginBottomTen"><a href="https://riversideca.gov/finance/budget.asp">Learn about the Budget</a></li> 2389 <li class="marginBottomTen"><a href="https://riversideca.gov/transparency/records/">Make Public Records Request</a></li> 2390 <li class="marginBottomTen"><a href="https://www.riversideca.gov/generalservices/commission-disabilities/request-for-accommodation">Make An ADA Complaint</a></li> 2391 <li class="marginBottomTen"><a href="https://riversideca.gov/park_rec/programs-sports/seniors/special-transportation-division">Secure Special Transportation</a></li> 2392 <li class="marginBottomTen"><a href="http://crmweb.riversideca.gov/">Schedule a Bulky Item Pickup</a></li> 2393 <li class="marginBottomTen"><a href="https://riversideca.gov/utilities/residents/startstop-service/about" target="_blank">Start Residential Utility Services</a></li> 2394 <li class="marginBottomTen"><a href="https://www.riversideca.gov/cityclerk/online-documents/claims-damages">Submit a Claim for Damages</a></li> 2395 <li class="marginBottomTen"><a target="_blank" href="https://awardrecognition.riversideca.gov/">Submit a request for either a proclamation or certificate</a></li> 2396 <li class="marginBottomTen"><a target="_blank" href="http://riversideca.gov/transparency/results/">View Strategic Goals & Performance Measure</a></li> 2397 <li class="marginBottomTen"><a href="http://www.riversideca.gov/residents/get-involved">Volunteer</a></li> 2398 2399 </ul> 2400 </div> 2401 <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> 2402 </div> 2403 </div> 2404 </div> <!-- End of Quick Links Row --> 2405 2406 2407 2408 2409 2410 2411 </section> 2412 2413 2414</div> 2415</div>
2416<div class="row socialRow" id="press-releases" > 2417 <div class="container"> 2418 <div class="col-md-12" style="margin-top:20px;margin-bottom:20px;"> 2419 <h2 class="text-center" >Connect with us</h2> 2420 </div> 2421 <div class="col-sm-6"> 2422 <div class="card" style="margin-top: 0px;"> 2423 <div class="card-image" style="height: 200px;"> 2424 <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"> 2425 2426 </div> 2427 2428 <div class="card-content"> 2429 <h3 class="text-center" style="color:#002856; margin-top: 0px;">Riverside City Hall</h3> 2430 <h5> 2431 <i class="fa fa-map-marker fa-lg" aria-hidden="true"></i> 2432 <a href="https://goo.gl/maps/WLvUKt2qSbG2" target="_blank" rel="noopener noreferrer"> 3900 Main St, Riverside, CA 92522</a> 2433 </h5> 2434 <h5> 2435 <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> 2436 </h5> 2437 <h5> 2438 <!-- <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> 2439 </h5> 2440 2441 2442 </div> 2443 </div> 2444 </div> 2445 <div class="col-sm-6"> 2446 <!--<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>
2446<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
2446 --> 2447 <div id="curator-feed-homepage-city-feed"><a href="https://curator.io" target="_blank" rel="noopener noreferrer" class="crt-logo crt-tag">Powered by Curator.io</a></div> 2448 </div> 2449 </div> 2450</div> 2451 2452<div class="row"> 2453</div> 2454 2455 2456<!-- The Javascript can be moved to the end of the html page before the </body> tag -->
2457<script type="text/javascript"> 2458 /* curator-feed-homepage-city-feed */ 2459 (function(){ 2460 var i, e, d = document, s = "script";i = d.createElement("script");i.async = 1;i.charset = "UTF-8"; 2461 i.src = "https://cdn.curator.io/published/7a281da6-8ed6-4e46-8fdc-ecde41a0f445.js"; 2462 e = d.getElementsByTagName(s)[0];e.parentNode.insertBefore(i, e); 2463 })(); 2464</script>
2464 2465 2466 2467 2468 2469
2470<script type="text/javascript"> 2471 (function ($) { 2472 $(document).ready(function(){ 2473 var images = ['Header-one.jpg', 'Header-two.jpg', 'Header-three.jpg', 'Header-four.jpg', 'Header-five.jpg']; 2474 $('#homepage-slider').css({'background-image': 'url(/sites/all/themes/city_of_riverside/images/' + images[Math.floor(Math.random() * images.length)] + ')'}); 2475 }); 2476 }); 2477</script>
2477 2478<!--Hard Coded Footer--> 2479<footer class="footer" id="footer"> 2480<div class="container"> 2481 <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"> 2482 <div class="row"> 2483 <div class="col-md-3"> 2484 <h4><a href="https://www.riversideca.gov/">Home</a></h4> 2485 <ul> 2486 <li><a href="/residents">Residents</a></li> 2487 <li><a href="/government">Government</a></li> 2488 <li><a href="/business">Business</a></li> 2489 <li><a href="/services">Services</a></li> 2490 <li><a href="/media">Media</a></li> 2491 <li><a href="/connect">Connect</a></li> 2492 <li><a href="/jobs">Jobs</a></li> 2493 <li><a href="/human/volunteer">Volunteer</a></li> 2494 </ul> 2495 </div> 2496 <div class="col-md-3"> 2497 <h4>Popular</h4> 2498 <ul> 2499 <li><a href="/government">City Departments</a></li> 2500 <li><a href="https://www.riversideca.gov/mayor">Mayor</a></li> 2501 <li><a href="https://www.riversideca.gov/council">City Council</a></li> 2502 <li><a href="https://www.riversideca.gov/library">Library</a></li> 2503 <li><a href="https://www.riversideca.gov/museum">Museum</a></li> 2504 <li><a href="https://www.riversideca.gov/park_rec">Parks and Recreation</a></li> 2505 <li><a href="https://www.riversideca.gov/utilities">Public Utilities</a></li> 2506 </ul> 2507 </div> 2508 <div class="col-md-3"> 2509 <h4><a href="/gov-whotocall.asp">Contact</a></h4> 2510 <ul> 2511 <li><a href="/who-call-city-hall">Who to Call at City Hall</a></li> 2512 <li><a href="https://crmweb.riversideca.gov">311 Services</a></li> 2513 <li><a href="/cdn-cgi/l/email-protection#a2c1c3cecec1c7ccd6c7d0e2d0cbd4c7d0d1cbc6c7c1c38cc5cdd4">Email Call Center</a></li> 2514 </ul> 2515 </div> 2516 <div class="col-md-3"> 2517 <h4>Resources</h4> 2518 <ul> 2519 <li><a href="https://library.municode.com/ca/riverside/codes/code_of_ordinances">Charter and Municipal Code</a></li> 2520 <li><a href="https://www.riversideca.gov/awards.asp">Our Awards</a></li> 2521 <li><a href="/media">Media Page</a></li> 2522 <li><a href="https://www.riversideca.gov/calendar">Community Calendar</a></li> 2523 <li><a href="/city-apps">Mobile Apps</a></li> 2524 <li><a href="https://www.riversideca.gov/transparency">EngageRiverside</a></li> 2525 <li><a href="https://riversideca.gov/finance/investor/monthlyreports.asp" target="_blank">Assembly Bill 2854 Compliance</a></li> 2526 </ul> 2527 </div> 2528 </div><!--end row--> 2529<p> </p> 2530 2531 <div class="row" style="padding-bottom:10px"> 2532 <div class="col-md-6"> 2533 <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"> <a href="https://www.riversideca.gov/">City of Riverside</a> | <a href="https://www.exploreriverside.com">Explore Riverside</a> 2534 </div> 2535 <div class="col-md-3"> 2536 <style> 2537 #google_translate_element select{ 2538 width:180px; 2539 } 2540 </style> 2541 <div id="google_translate_element" style="padding-left:10px;padding-right:10px;"></div>
vendor: 108 bytes, line 2541
2541<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2541<script type="text/javascript"> 2542 function googleTranslateElementInit() { 2543 new google.translate.TranslateElement({pageLanguage: 'en', gaTrack: true, gaId: 'UA-10797445-1'}, 'google_translate_element'); 2544 } 2545 </script>
2545 2546
2546<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
2546 2547 2548
2548<script type="text/javascript">// <![CDATA[ 2549function googleTranslateElementInit() { 2550new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); 2551} 2552// ]]></script>
2552 2553 </div> 2554 <div class="col-md-3"> 2555 <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> 2556 <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> 2557 <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> 2558 <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> 2559 <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> 2560 2561 </div> 2562 2563 2564 </div> 2565 2566</div><!-- end container --> 2567 <div class="row" style="margin-left: 0px; margin-right: 0px;"> 2568 <div style="background-color: #111; border-top: solid 1px #666;"> 2569 <div class="layout font10 footer-container container" style="color: #999;"> 2570 <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> 2571 <!-- 2572 <div class="visible-xs visible-sm" style="padding-top:8px"> 2573 <img class="center-image" border="0" style="padding-right:8px;" src="/images/facebook-logo.png"> 2574 <img class="center-image" border="0" style="padding-right:8px;" src="/images/twitter-logo.png"> 2575 <img class="center-image" border="0" style="padding-right:8px;" src="/images/youtube-logo.png"> 2576 <img class="center-image" border="0" style="padding-right:8px;" src="/images/linkedin-logo.png"> 2577 <img class="center-image" border="0" style="padding-right:8px;" src="/images/rss-logo.png"> 2578 </div> 2579 --> 2580 </div> 2581 </div> 2582 2583 2584 2585<!--
2585<script type="text/javascript" src="https://www.riversideca.gov/js/custom.js"></script>
2585--> 2586
2587<script defer type="text/javascript" src="/js/jquery-3.4.1.min.js"></script>
vendor: 2 bytes, line 2587
2587
2588<script defer type="text/javascript" src="/js/jquery-migrate-3.1.0.min.js"></script>
vendor: 2 bytes, line 2588
2588
2589<script defer src="/js/corweb/drupal.js"></script>
vendor: 2 bytes, line 2589
2589
2590<script defer src="/js/corweb/jquery.once.js"></script>
vendor: 2 bytes, line 2590
2590
2591<script defer src="/js/corweb/bootstrap/affix.js"></script>
vendor: 2 bytes, line 2591
2591
2592<script defer src="/js/corweb/bootstrap/alert.js"></script>
vendor: 2 bytes, line 2592
2592
2593<script defer src="/js/corweb/bootstrap/button.js"></script>
vendor: 2 bytes, line 2593
2593
2594<script defer src="/js/corweb/bootstrap/carousel.js"></script>
vendor: 2 bytes, line 2594
2594
2595<script defer src="/js/corweb/bootstrap/collapse.js"></script>
vendor: 2 bytes, line 2595
2595
2596<script defer src="/js/corweb/bootstrap/dropdown.js"></script>
vendor: 2 bytes, line 2596
2596
2597<script defer src="/js/corweb/bootstrap/modal.js"></script>
vendor: 2 bytes, line 2597
2597
2598<script defer src="/js/corweb/bootstrap/tooltip.js"></script>
vendor: 2 bytes, line 2598
2598
2599<script defer src="/js/corweb/bootstrap/popover.js?oqtub7"></script>
vendor: 2 bytes, line 2599
2599
2600<script defer src="/js/corweb/bootstrap/scrollspy.js?oqtub7"></script>
vendor: 2 bytes, line 2600
2600
2601<script defer src="/js/corweb/bootstrap/tab.js?oqtub7"></script>
vendor: 2 bytes, line 2601
2601
2602<script defer src="/js/corweb/bootstrap/transition.js?oqtub7"></script>
vendor: 2 bytes, line 2602
2602
2603<script defer src="/js/corweb/slideout.min.js?oqtub7"></script>
vendor: 2 bytes, line 2603
2603
2604<script defer src="/js/corweb/side-menu.js?oqtub7"></script>
2604 2605
2606<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>
vendor: 2 bytes, line 2606
2606
2607<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>
2607 </div> 2608 2609 </footer> 2610 2611 </main>
2611<script defer src="https://www.riversideca.gov/sites/all/themes/bootstrap/js/bootstrap.js?q57fm9"></script>
2611 2612 2613<!-- Include the script file -->
2614<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>
2614 2615<!-- Init the webchat component on document load -->
2616<script type="text/javascript"> 2617 document.addEventListener("DOMContentLoaded", function(event) { 2618 DruidWebchat_v2.init({ 2619<!-- Common settings --> 2620 botId: "56ab1b4e-737c-4fa0-a723-08dd8c0983b3", 2621 baseUrl: "https://druidapi.us.druidplatform-hs.com", 2622 queryParams: "", // pass queryParams to AuthorizeAsync method 2623 }); 2624 }); 2625</script>
2625 2626 2627<!-- accessWidget --> 2628 2629
2630<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>
vendor: 2 bytes, line 2630
2630
2631<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>
2631 2632</body> 2633</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.