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