1<!doctype html> 2<html lang="en-us"> 3 4<head> 5 <title>Home | Alameda County Government</title> 6 <meta charset="utf-8"> 7 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 8 <meta name="viewport" content="width=device-width, initial-scale=1"> 9 <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> 10 <!-- Sitemap Verification Code --> 11 <meta name="google-site-verification" content="IbsI4I84KNfBVhGugciXGiu2v2wBwKB_Kju-x9j6uYI" /> 12 <meta name="Description" content="Homepage for Alameda County's government website. Portal for all government information."> 13 <meta name="Keywords" content="Alameda County, government, local government, Bay Area, California, county government, county services, news"> 14 <meta name="Location" content="Alameda County, Bay Area, California, United States"> 15 16 <!-- Google Tag Manager -->
17<script>
vendor: 331 bytes, lines 17-21
17(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 18new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 19j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 20'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 21})(window,document,'script','dataLayer','
21GTM-MW6VWCK
vendor: 3 bytes, line 21
21');
21</script>
21 22<!-- End Google Tag Manager --> 23 24<!-- Bootstrap core CSS --> 25<link href="/acgov-css/bootstrap.min.css" rel="stylesheet"> 26 27<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> 28<link href="/acgov-css/ie10-viewport-bug-workaround.css" rel="stylesheet"> 29 30<!-- Custom styles for this template --> 31<link href="/acgov-css/custom.css" rel="stylesheet"> 32 33<!-- Google Material Icons Font --> 34<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 35 36<!-- Background Image Load --> 37<!-- When changing the wallpaper image, keep in mind that it may effect the readability of content since the 38content div is partially transparent. Adjust the transparency on line 164 of the custom.css file -->
39<script> 40//window.onload = function() { 41//if (window.screen.width > 767) { 42// document.body.style.backgroundImage = "url('/img/wallpaper-merritt-adj2.jpg')"; 43//} 44//} 45 46function submitsearch() { 47 document.getElementById("search-form").submit(); 48} 49function goback() { 50 window.history.back(); 51} 52</script>
52 53
54<script> /* NEW TEMP SEARCH BOX */ 55 (function() { 56 var cx = '002986915478428468373:0muhvevs3v0'; 57 var gcse = document.createElement('script'); 58 gcse.type = 'text/javascript'; 59 gcse.async = true; 60 gcse.src = 'https://cse.google.com/cse.js?cx=' + cx; 61 var s = document.getElementsByTagName('script')[0]; 62 s.parentNode.insertBefore(gcse, s); 63 })(); 64</script>
64 65 66 67<style> /* NEW TEMP SEARCH BOX */ 68td.gsc-search-button { padding-right: 5px; } 69td.gsib_a { 70 padding:10px; 71} 72.gsc-search-button-v2 { 73 padding: 11px 25px !important; 74 margin: 15px; 75 border-radius: 3px !important; 76} 77.gsc-search-button-v2 svg { 78 width:18px; 79 height:18px; 80} 81/*Media Querry*/ 82@media (max-width:767px){ 83td.gsc-input { width:20%;} 84} 85</style> 86 87 <style> 88 .content { 89 background: transparent; 90 padding: 0px; 91 } 92 93 /* ICONS */ 94 95 .row.icons .col-sm-3 { 96 margin: 20px 0px; 97 } 98 99 .icons { 100 margin: 0px auto; 101 background-color: rgba(255, 255, 255, 0); 102 padding: 20px 0px; 103 min-height: 230px; 104 } 105 106 .material-icons.settings, 107 .material-icons.business_center, 108 .material-icons.forum, 109 .material-icons.thumbs_up_down { 110 text-shadow: #000 2px 2px; 111 transition-property: width, height, transform, background, font-size, opacity; 112 transition-duration: .25s, .25s, .25s, .25s, .25s, .25s; 113 } 114 115 116 .icon-title { 117 font-size: 30px; 118 color: #fff; 119 text-shadow: #000 2px 2px; 120 } 121 122 .iconlink:hover { 123 text-decoration: none; 124 } 125 126 .stories, 127 .gov { 128 margin: 20px auto 40px auto; 129 background-color: rgba(255, 255, 255, 0.9); 130 border-radius: 0px; 131 } 132 133 /* NEWS STORIES */ 134 135 .stories .ads { 136 margin: 15px auto; 137 } 138 139 .news-stories { 140 padding: 20px 0px 0px 0px; 141 } 142 143 .category { 144 font-size: 1.3rem; 145 color: #000; 146 text-transform: uppercase; 147 } 148 149 .headline { 150 font-size: 2.5rem; 151 color: #000; 152 } 153 154 .story { 155 font-size: 1.5rem; 156 color: #000; 157 } 158 159 div.col-sm-6.secondary-stories ul { 160 margin-top: 20px; 161 } 162 163 div.col-sm-6.secondary-stories ul li { 164 margin-bottom: 10px; 165 } 166 167 .board-photo { 168 margin: 15px auto; 169 } 170 171 .gov-links { 172 margin-top: 20px; 173 } 174 175 .gov-links ul { 176 list-style-type: none; 177 padding-left: 0px; 178 } 179 180 .gov-links ul li { 181 padding-bottom: 20px; 182 } 183 184 .govd-news { 185 float: right; 186 padding: 10px 0px 10px 10px; 187 max-width: 125px; 188 } 189 190 @media (min-width: 769px) { 191 192 .material-icons.settings:hover, 193 .material-icons.business_center:hover, 194 .material-icons.forum:hover, 195 .material-icons.thumbs_up_down:hover { 196 font-size: 100px; 197 } 198 199 } 200 201 202 @media (max-width: 767px) { 203 204 .icons { 205 background-color: #336699; 206 padding: 0px; 207 } 208 209 .icon-button { 210 border: 1px solid #fff; 211 } 212 213 .row.icons .col-sm-3 { 214 padding: 20px 0px; 215 margin: 0px; 216 } 217 218 .stories, 219 .gov { 220 margin: 0px auto 0px auto; 221 background-color: rgba(255, 255, 255, 1); 222 border-radius: 0px; 223 } 224 225 .stories { 226 padding-bottom: 20px; 227 } 228 229 .primary-stories, 230 .secondary-stories { 231 padding-left: 0px; 232 padding-right: 0px; 233 } 234 235 .news-stories { 236 padding: 20px 10px 0px 10px; 237 } 238 239 .govd-news { 240 float: none; 241 padding: 10px; 242 max-width: none; 243 width: 100%; 244 } 245 246 .content { 247 margin-bottom: 0px; 248 } 249 250 .gov { 251 background-color: #0080FF; 252 padding: 0px; 253 } 254 255 .gov a { 256 color: #fff; 257 text-transform: uppercase; 258 } 259 260 .board-photo, 261 .board-photo img { 262 padding: 0px; 263 margin: 0px; 264 } 265 266 div.col-sm-6.gov-links { 267 margin: 0px; 268 padding: 0px; 269 } 270 271 div.col-sm-6.gov-links ul { 272 margin: 0px; 273 padding: 0px; 274 background: #337ab7; 275 } 276 277 div.col-sm-6.gov-links ul li { 278 list-style-type: none; 279 border-bottom: 1px solid #fff; 280 text-align: center; 281 margin: 0px; 282 padding: 20px 10px; 283 } 284 .icon-title { 285 font-size: 24px; 286 } 287 } 288 289 290 291 /* No greater than 900px, no less than 400px */ 292 293 @media (max-width:850px) and (min-width:768px) { 294 .trans_button { 295 display: block; 296 padding-top: 25px; 297 padding-right: 15px; 298 float: right; 299 bottom: -20px; 300 border: 1px solid red; 301 } 302 } 303 @media (max-width:768px) { 304 #acgov-tagline.col-sm-6.col-xs-12.tagline { 305 margin-top: 15px; 306 } 307 } 308 309 </style> 310
310<script src="survey-modal.js"></script>
310 311 312</head> 313 314<body> 315 <!-- skip to content --> 316<header> 317 <a href="#content" class="skip-link">Skip to Content</a> 318 319 <!-- Above-the-fold branding --> 320 <div id="acgov-branding" class="container branding"> 321 <div class="row container"> 322 <div id="acgov-logo" class="col-sm-6 col-xs-12 logo"> 323 <a href="/index.htm"> 324 <img id="acgovlogo" class="img-responsive acgov-logo" src="/img/acgov-branding2024.png" alt="Alameda County CA acgov Home" /> 325 </a> 326 </div> 327 <div id="acgov-tagline" class="col-sm-6 col-xs-12 tagline"> 328 <!-- Accessible Translate trigger (top) --> 329 <a id="translate-trigger-top" href="#" role="button" data-toggle="modal" data-target="#modal-trans" aria-haspopup="dialog" aria-controls="modal-trans" aria-expanded="false"> 330 <span class="material-icons md-24 trans-icon"></span> Translate 331 </a> 332 </div> 333 </div> 334 </div> 335 336 <!-- Sticky / scrolled branding --> 337 <div id="acgov-branding-scroll" class="container branding" style="display:none;"> 338 <div class="row container"> 339 <div id="logo-scroll" class="col-sm-2 col-xs-12 logo"> 340 <a href="/index.htm"> 341 <img class="img-responsive acgov-logo" src="/img/acgov-branding2024.png" alt="ACGOV Logo" /> 342 </a> 343 </div> 344 <div id="spacer" class="col-sm-5 col-xs-12 spacer"></div> 345 <div id="tagline-scroll" class="col-sm-5 col-xs-12 tagline-scroll"> 346 <!-- Accessible Translate trigger (sticky) --> 347 <a id="translate-trigger-scroll" href="#" role="button" data-toggle="modal" data-target="#modal-trans" aria-haspopup="dialog" aria-controls="modal-trans" aria-expanded="false"> 348 <span class="material-icons md-24 trans-icon"></span> Translate 349 </a> 350 </div> 351 </div> 352 </div> 353</header> 354
355<script> 356 // ===== Sticky header behavior (original, now with null-safety) ===== 357 window.onscroll = changePos; 358 function changePos() { 359 var branding = document.getElementById("acgov-branding"); 360 var brandingscroll = document.getElementById("acgov-branding-scroll"); 361 var tagline = document.getElementById("acgov-tagline"); 362 var logo = document.getElementById("acgovlogo"); 363 364 if (document.documentElement.clientWidth >= 768) { 365 if (window.pageYOffset > 57) { 366 if (branding) branding.style.display = "none"; 367 if (brandingscroll) brandingscroll.style.display = "block"; 368 } else { 369 if (branding) branding.style.display = "block"; 370 if (brandingscroll) brandingscroll.style.display = "none"; 371 } 372 } else { 373 if (window.pageYOffset > 57) { 374 if (tagline) tagline.style.display = "none"; 375 if (logo) logo.style.maxWidth = "200px"; 376 } else { 377 if (tagline) tagline.style.display = "block"; 378 if (logo) logo.style.maxWidth = "100%"; 379 } 380 } 381 } 382 383 // ===== Accessibility: aria-expanded sync + focus trap for #modal-trans ===== 384 document.addEventListener("DOMContentLoaded", function () { 385 var modal = document.getElementById("modal-trans"); 386 if (!modal) return; // modal needs to exist 387 388 // Collect both triggers, if present 389 var triggers = [ 390 document.getElementById("translate-trigger-top"), 391 document.getElementById("translate-trigger-scroll") 392 ].filter(Boolean); 393 394 // Remember which trigger opened the modal (for focus restore + aria state) 395 var lastTrigger = null; 396 397 // When a trigger is clicked, record it as the opener 398 triggers.forEach(function (t) { 399 t.addEventListener("click", function () { lastTrigger = t; }, { capture: true }); 400 }); 401 402 // Helper: set aria-expanded on all triggers (defaults to "false") 403 function setExpandedForTriggers(value) { 404 triggers.forEach(function (t) { 405 t.setAttribute("aria-expanded", value ? "true" : "false"); 406 }); 407 } 408 409 // Bootstrap modal events 410 modal.addEventListener("shown.bs.modal", function (evt) { 411 // Prefer the event's relatedTarget (Bootstrap sets it), else use lastTrigger 412 var opener = evt && evt.relatedTarget ? evt.relatedTarget : lastTrigger; 413 // First set all to false, then true on the opener (for accuracy) 414 setExpandedForTriggers(false); 415 if (opener && opener.setAttribute) opener.setAttribute("aria-expanded", "true"); 416 417 // Move focus to the first meaningful element inside the modal 418 var focusables = getFocusableElements(modal); 419 if (focusables.length) { 420 var preferred = modal.querySelector('[data-primary], .btn-primary, [data-dismiss="modal"], .close'); 421 (preferred && typeof preferred.focus === "function" ? preferred : focusables[0]).focus(); 422 } 423 424 // Start focus trap 425 modal.addEventListener("keydown", trapTabKey); 426 }); 427 428 modal.addEventListener("hidden.bs.modal", function () { 429 // Reset aria-expanded for all triggers 430 setExpandedForTriggers(false); 431 432 // Stop focus trap 433 modal.removeEventListener("keydown", trapTabKey); 434 435 // Restore focus to the opener, if available 436 if (lastTrigger && typeof lastTrigger.focus === "function") { 437 lastTrigger.focus(); 438 } 439 lastTrigger = null; 440 }); 441 442 // ===== Focus trap helpers ===== 443 function getFocusableElements(container) { 444 var selector = [ 445 'a[href]:not([tabindex="-1"])', 446 'area[href]:not([tabindex="-1"])', 447 'input:not([type="hidden"]):not([disabled]):not([tabindex="-1"])', 448 'select:not([disabled]):not([tabindex="-1"])', 449 'textarea:not([disabled]):not([tabindex="-1"])', 450 'button:not([disabled]):not([tabindex="-1"])', 451 'iframe:not([tabindex="-1"])', 452 'audio[controls]:not([tabindex="-1"])', 453 'video[controls]:not([tabindex="-1"])', 454 '[contenteditable]:not([tabindex="-1"])', 455 '[tabindex]:not([tabindex="-1"])' 456 ].join(','); 457 458 return Array.prototype.slice.call(container.querySelectorAll(selector)) 459 .filter(function (el) { 460 return el.offsetWidth > 0 || el.offsetHeight > 0 || el.getClientRects().length > 0; 461 }); 462 } 463 464 function trapTabKey(e) { 465 if (e.key !== "Tab") return; 466 467 var focusables = getFocusableElements(modal); 468 if (!focusables.length) return; 469 470 var first = focusables[0]; 471 var last = focusables[focusables.length - 1]; 472 var active = document.activeElement; 473 474 if (e.shiftKey) { 475 if (active === first || !modal.contains(active)) { 476 last.focus(); 477 e.preventDefault(); 478 } 479 } else { 480 if (active === last || !modal.contains(active)) { 481 first.focus(); 482 e.preventDefault(); 483 } 484 } 485 } 486 }); 487</script>
487 488 <div role="search" class="container searchbox"> 489<!--<div class="container urgent"> 490 <div class="row"> 491 <p><i class="material-icons md-48 md-vertical-middle"></i> This is a sample urgent notification box. Please click here for more information: <a href="as">Urgent Link</a></p> 492 </div> 493</div>--> 494 <!-- <div class="container info-msg"> 495 <div class="row"> 496 <p><span class="material-icons md-48 md-vertical-middle">warning</span><strong>Upcoming Website Outages</strong><br> Due to upcoming maintenance, you may encounter errors when accessing County websites this Sunday, August 10th.<br>We apologize for any inconvenience.</p> 497 </div> 498 </div> --> 499<div class="container info-msg"> 500 <div class="row"> 501 <p><span class="material-icons md-48 md-vertical-middle">info</span> Alameda County is gradually transitioning our websites to a new .GOV domain name: "alamedacountyca.gov".</br><a href="/government/dotgov.htm">Learn more</a><span class="material-icons md-32 md-vertical-middle">arrow_forward</span></p> 502 </div> 503 </div> 504 505 <div class="row search"> 506 <form id="search-form" style="margin: auto; width: 90%;" method="get" action="https://acsearch.acgov.org/s/search.html?" target="_parent" type="external"> 507 <div class="input-group"> 508 <label for="funnelbackinput" class="sr-only">Search</label> 509 510 <input id="funnelbackinput" type="search" name="query" class="form-control search-input" placeholder="What can we help you find today?" aria-label="Search"> 511 <span class="input-group-addon"> 512 <button type="submit" class="btn search-button" name="btnG" value="Search" aria-label="Submit search">Search</button> 513 </span> 514 </div> 515 <input type="hidden" name="collection" value="acgov" /> 516 <input type="hidden" name="profile" value="acgov"> 517 <input type="hidden" name="form" value="acgov" /> 518 </form> 519 </div> 520</div> 521<!-- skip to content jumplink destination <div> starts here--> 522<div role="main" id="content"> 523 <!-- ending </div> is located at begining of footer --> 524 <!-- Google Translate the Pages ---------------------------------> 525<div class="modal fade" id="modal-trans" tabindex="-1" role="dialog" aria-modal="true" aria-labelledby="modal-title" aria-describedby="modal-desc"> 526 <div class="modal-dialog" role="document"> 527 <div class="modal-content"> 528 <div class="modal-header"> 529 530 <!-- Close button: accessible label + visual "Ã" --> 531 <button type="button" class="close" data-dismiss="modal" aria-label="Close dialog"> 532 <span aria-hidden="true">×</span> 533 <span class="sr-only">Close</span> 534 </button> 535 536 <!-- Modal title with id referenced by aria-labelledby --> 537 <h3 class="modal-title" id="modal-title">Translate this Page</h3> 538 </div> 539 540 <!-- Body gets an id referenced by aria-describedby --> 541 <div class="modal-body deptinfo" id="modal-desc"> 542 <h4>Disclaimer</h4> 543 <p>Translation of pages on ACGOV.org is performed by Google Translate, a third-party service which Alameda County has no control over. The service provides automated computer translations that are only an approximation of the websitesâ original content.</p> 544 <p>Alameda County does not warrant the accuracy, reliability, or timeliness of any information translated by Google Translate. These translations should not be considered exact renderings of the original ACGOV.org site. Some portions of the site will not be translated at all, which includes but is not limited to buttons, graphics, photos, and video content.</p> 545 546 <!-- Keep the widget container as its own block (avoid nesting <div> inside <p>) --> 547 <div class="mt-3" id="google_translate_element"></div> 548 </div> 549 550 <!-- Optional footer with an explicit close action for keyboard users --> 551 <div class="modal-footer"> 552 <button type="button" class="btn btn-primary" data-dismiss="modal" data-primary>Close</button> 553 </div> 554 </div> 555 </div> 556</div> 557
558<script> 559(function () { 560 var attempts = 0; 561 var maximumAttempts = 60; 562 563 function attachTranslationTracking() { 564 var dropdown = document.querySelector(".goog-te-combo"); 565 566 if (!dropdown) { 567 attempts++; 568 569 if (attempts < maximumAttempts) { 570 window.setTimeout(attachTranslationTracking, 500); 571 } else { 572 console.warn("Translation tracking: Google Translate dropdown was not found."); 573 } 574 575 return; 576 } 577 578 if (dropdown.getAttribute("data-siteimprove-tracking") === "true") { 579 return; 580 } 581 582 dropdown.setAttribute("data-siteimprove-tracking", "true"); 583 584 dropdown.addEventListener("change", function () { 585 var selectedOption = this.options[this.selectedIndex]; 586 587 if (!this.value || !selectedOption) { 588 return; 589 } 590 591 var languageName = selectedOption.text.trim(); 592 593 console.log( 594 "Siteimprove translation event:", 595 this.value, 596 languageName 597 ); 598 599 window._sz = window._sz || []; 600 window._sz.push([ 601 "event", 602 "Translation", 603 "Language selected", 604 languageName 605 ]); 606 }); 607 608 console.log("Translation tracking attached."); 609 } 610 611 attachTranslationTracking(); 612})(); 613</script>
613 614 615 <div class="container content"> 616 <div class="row icons"> 617 <div class="col-sm-3 col-xs-6 text-center icon-button"> 618 <a href="services/" class="iconlink icon-services"> 619 <span class="material-icons md-84 md-light settings"></span> 620 <br /> 621 <span class="icon-title">Services</span> 622 </a> 623 </div> 624 <div class="col-sm-3 col-xs-6 text-center icon-button"> 625 <a href="careers.htm" class="iconlink icon-careers"> 626 <span class="material-icons md-84 md-light business_center"></span> 627 <br /> 628 <span class="icon-title">Careers</span> 629 </a> 630 </div> 631 <div class="col-sm-3 col-xs-6 text-center icon-button"> 632 <a href="government/connected/" class="iconlink icon-connect"> 633 <span class="material-icons md-84 md-light forum"></span> 634 <br /> 635 <span class="icon-title">Connect</span> 636 </a> 637 </div> 638 <div class="col-sm-3 col-xs-6 text-center icon-button"> 639 <a href="participate.htm" class="iconlink icon-participate"> 640 <span class="material-icons md-84 md-light thumbs_up_down"></span> 641 <br /> 642 <span class="icon-title">Participate</span> 643 </a> 644 </div> 645 </div> 646 647 <!--- google fonts ---> 648<link rel="preconnect" href="https://fonts.googleapis.com"> 649<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 650<link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap" rel="stylesheet"> 651<link href="https://fonts.googleapis.com/css2?family=Quicksand&display=swap" rel="stylesheet"> 652<style> 653 .row { 654 margin: 0; 655 padding-top: 0; 656 padding-bottom: 0; 657 } 658 659 .content-container, 660 .content-container-quicklinks { 661 background: #ffffff; 662 } 663 664 h2 { 665 font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif; 666 font-size: 2.5rem; 667 line-height: 1.2; 668 color: #000; 669 } 670 671 .category { 672 background-color: #0B69E5; 673 color: #ffffff; 674 display: block; 675 padding: 4px 5px 2px 5px; 676 margin-top: 0px; 677 margin-bottom: 5px; 678 letter-spacing: 1px; 679 width: fit-content; 680 font-size: 1rem; 681 } 682 683 div.col-md-6.left-col div img { 684 padding: 0; 685 max-width: 100%; 686 } 687 688 div.col-md-6.right-col { 689 padding-top: 0; 690 } 691 692 div#content div.container.content div.container div.row div.col-md-6 { 693 padding-top: 20px; 694 padding-bottom: 0px; 695 } 696 697 div#content div.container.content div.container { 698 padding-left: 0; 699 padding-right: 0; 700 } 701 702 div.subscription-link-mobile { 703 display: none; 704 } 705 706 .info-msg { 707 padding-top: 20px; 708 } 709 710 div.row.search { 711 padding-bottom: 20px; 712 } 713 714 /*news responsive*/ 715 @media (min-width: 992px) { 716 717 /*narrows middle gutter and expands outer gutters on desktop*/ 718 div.col-md-6.left-col { 719 padding-right: 6px; 720 padding-left: 22px; 721 } 722 723 div.col-md-6.right-col { 724 padding-left: 6px; 725 padding-right: 22px; 726 } 727 } 728 729 /*subscription link and search responsive*/ 730 @media (max-width: 992px) { 731 div.subscription-link { 732 display: none; 733 } 734 735 div.subscription-link-mobile { 736 display: block; 737 padding-top: 10px; 738 } 739 740 div.row.search { 741 margin-top: -20px; 742 } 743 } 744 745 /*bos*/ 746 747 /* prevent images from exceeding column width */ 748 .image-grid img { 749 width: 100%; 750 height: auto; 751 display: block; 752 margin: 0 auto; 753 } 754 755 .bos-heading { 756 margin-top: 0; 757 background: #2e446d; 758 padding: 10px 20px; 759 color: white; 760 font-size: 18px; 761 text-transform: uppercase; 762 text-align: center; 763 } 764 765 figcaption.mt-2.bos-caption { 766 padding-top: 4px; 767 padding-bottom: 15px; 768 font-size: 14px; 769 line-height: 1; 770 } 771 772 figcaption.mt-2.bos-caption span.bos-caption2 { 773 font-size: 14px; 774 font-weight: bold; 775 line-height: 1.6; 776 } 777 778 figcaption.mt-2.bos-caption span.bos-caption3 { 779 font-size: 12px; 780 } 781 782 /*bos responsive*/ 783 @media (min-width: 992px) { 784 785 /* for 5-column layout on large screens */ 786 .col-lg-5ths { 787 flex: 0 0 20%; 788 max-width: 20%; 789 } 790 } 791 792 @media (min-width: 768px) { 793 .col-md-4.col-lg-5ths { 794 width: 33.333%; 795 } 796 } 797 798 /*end bos responsive*/ 799 800 /*end bos*/ 801 802 /*quick links*/ 803 .quick-links-heading { 804 margin-top: 0;
805 background: #2e446d; 806 padding: 10px 20px; 807 color: white; 808 font-size: 18px; 809 text-transform: uppercase; 810 text-align: center; 811 margin-bottom: 20px; 812 } 813 814 .gov-links { 815 margin-top: 0 !important; 816 padding-top: 0 !important; 817 } 818 819 .gov-links ul { 820 padding: 0 20px !important; 821 margin-bottom: 0 !important; 822 } 823 824 div.subscription-link-mobile a img.img-responsive { 825 width: 25%; 826 margin: 0 auto; 827 } 828 829 div.subscription-link a img.img-responsive { 830 width: 20%; 831 float: right; 832 } 833 834 /*quick links responsive*/ 835 @media (max-width: 767px) { 836 div img.img-responsive { 837 width: 30%; 838 margin: 0 auto; 839 } 840 841 .content-container-quicklinks div.col-md-6.gov-links { 842 padding: 0 !important; 843 margin-left: 0 !important; 844 } 845 846 .content-container-quicklinks { 847 background-color: #337ab7 !important; 848 margin-bottom: 6px; 849 } 850 851 .content-container-quicklinks h2.mb-4.quick-links-heading { 852 margin-bottom: 0 !important; 853 } 854 855 .content-container-quicklinks div.col-md-6.gov-links ul { 856 padding: 0 !important; 857 margin-left: 0 !important; 858 } 859 860 .content-container-quicklinks div.col-md-6.gov-links ul li { 861 list-style-type: none; 862 border-top: 1px solid #fff; 863 text-align: center; 864 margin: 0px !important; 865 padding: 20px 0px; 866 } 867 868 .content-container-quicklinks div.col-md-6.gov-links ul li a { 869 color: #ffffff; 870 font-size: 16px; 871 } 872 } 873 874 /*end quick links responsive*/ 875 876 /*end quick links*/ 877</style> 878<main> 879<!-- August 18, 2026 Election Information --> 880<div class="container mt-4"> 881 <div class="row content-container"> 882 <!--Left Column--> 883 <div class="col-md-12 left-col" style="padding-top: 10px;"> 884 <div class="subscription-link"> 885 <a data-toggle="modal" data-target="#modal-govd"> 886 <img class="img-responsive" src="/img/get-email-updates.png" alt="Get Email Updates with GovDelivery"> 887 </a> 888 </div> 889 <p class="category">LOCAL</p> 890 <h2>Minimum Wage Ballot Measure Impact Analysis</h2> 891 This report evaluates the potential impacts of a proposed ballot measure in response to a request by the Alameda County Board of Supervisors and in accordance with the provisions in California Elections Code Section 9111. The proposed measure would enact an ordinance to establish a minimum wage in the unincorporated areas of Alameda County.<br> 892 <a href="/documents/9111-Report-092326-FINAL-REVISED.pdf">Click here for the revised analysis</a> <a href="/documents/9111Report090326FINAL.pdf">Click here for the analysis</a> <a href="/documents/Final-Draft-BOS-PPT-091326.pdf">Click here for the report presentation</a> 893 </p> 894 </div> 895 <!--End Right Column--> 896 </div> 897</div> 898<div class="container mt-4"> 899 <div class="row content-container"> 900 <!--Left Column--> 901 <div class="col-md-6 left-col"> 902 <div> 903 <a href="https://direc.to/p3Gt"><img src="/emergencysite/images/getready.png" alt="new Office of Emergency Services Website acalert.org"></a> 904 </div> 905 </div> 906 <!--End Left Column--> 907 <!--Right Column--> 908 <div class="col-md-6 right-col"> 909 <p class="category">PREPARE</p> 910 <h2>New Emergency Preparedness Website</h2> 911 You can now get all of your emergency resources from one website. Emergency preparedness, road closures, emergency alerts, and more are available on the new Office of Emergency Services <a href="https://direc.to/p3Gt">website</a>.<br> 912 </p> 913 </div> 914 <!--End Right Column--> 915 </div> 916</div> 917<div class="container mt-4"> 918 <div class="row content-container"> 919 <!--Left Column--> 920 <div class="col-md-6 left-col"> 921 <div> 922 <!-- <img src="/acvote/images/acgov-site-CD14-Special-General-Electionv2.jpg" alt="The August 18, 2026 Congressional District 14 Special General Election, Vote Now!"> --> 923 <a href="https://alamedacountyca.gov/rovresults/262/"><img src="/acvote/images/acgov-site-CD14-Special-General-Election.jpg" alt="The August 18, 2026 Congressional District 14 Special General Election results are now available."></a> 924 </div> 925 </div> 926 <!--End Left Column--> 927 <!--Right Column--> 928 <div class="col-md-6 right-col"> 929 <!-- <div class="subscription-link">
930 <a data-toggle="modal" data-target="#modal-govd"> 931 <img class="img-responsive" src="/img/get-email-updates.png" alt="Get Email Updates with GovDelivery"> 932 </a> 933 </div> --> 934 <p class="category">ELECTIONS</p> 935 <!-- <h2>Direct Primary Election</h2> 936 June 02, 2026 --> 937 <h2>Congressional District 14 Special General Election Information Available</h2> 938 <!-- The August 18, 2026 Congressional District 14 Special General Election information is now available.<br> --> 939 The August 18, 2026 Congressional District 14, Special General Election results are now available.<br> 940 <!-- <a href="https://acvote.alamedacountyca.gov/election-information/elections?id=262">Click here for more information.</a> --> 941 <a href="https://alamedacountyca.gov/rovresults/262/">Click here for the results</a> 942 </p> 943 </div> 944 <!--End Right Column--> 945 </div> 946</div> 947 <!-- ITEM 2 --> 948 <!-- <div class="container mt-4"> 949 <div class="row content-container"> 950 Left Column 951 <div class="col-md-6 left-col"> 952 <div style="text-align: center;"> 953 <img src="/img/online-payment.jpg" alt="2026/27 Unsecured Property Tax is due by 5 p.m. on Monday, August 31, 2026"> 954 </div> 955 </div> 956 End Left Column 957 Right Column 958 <div class="col-md-6 right-col"> 959 <p class="category">PROPERTY TAX</p> 960 <h2> 2025/26 Secured Property Taxes</h2> 961 <p>This is a reminder that the 2026/27 Unsecured Property Tax is due by 5 p.m. on Monday, August 31, 2026. If not paid by this date, the tax will include a delinquent penalty of 10% and a delinquent cost of $50.00. If not paid by October 31, 2026, an additional 1.5% interest will accrue on the first of each month, starting November 1, 2026 (RTC 2922).</p> 962 <p><a href="https://content.govdelivery.com/accounts/CAALAME/bulletins/421cd52">Read more about paying property taxes.</a></p> 963 </div> 964 End Right Column 965 </div> 966 </div> --> 967 <!-- END ITEM 2 --> 968<!-- August 18, 2026 Election Information --> 969 <!-- Scott Haggerty Media Statement --> 970 <div class="container mt-4"> 971 <div class="row content-container"> 972 <div class="col-md-6 left-col"> 973 <div> 974 <a href="https://alamedacountyca.gov/government/pressrelease-detail.htm?id=2026-07-06%2014:16:00.04"><img src="/images/ScottHaggerty_Portrait.png" alt="Portrait of Scott Haggerty"></a> 975 </div> 976 </div> 977 <div class="col-md-6 right-col"> 978 <p class="category">PRESS</p> 979 <h2>Passing of Former Supervisor Scott Haggerty</h2> 980 Alameda County is mourning the passing of former Alameda County Board Supervisor Scott Haggerty, a dedicated public servant who represented District 1 for over two decades. The Board of Supervisors paused to honor his memory at its meeting on July 14, and flags at all county buildings were lowered at half-staff.<br> 981 <a href="https://alamedacountyca.gov/government/pressrelease-detail.htm?id=2026-07-06%2014:16:00.04">Read the press release.</a> 982 </p> 983 </div> 984 </div> 985 </div> 986 <!-- End of Scott Haggerty Media Statement --> 987 988 <!-- 2026 Digital Counties Award --> 989 <div class="container mt-4"> 990 <div class="row content-container"> 991 <div class="col-md-6 left-col"> 992 <div> 993 <a href="https://acgov.org/government/pressrelease-detail.htm?id=2026-07-22%2009:51:49.743"><img src="/government/images/CDG26-DigCounties-Survey-Social-Images-1200x630-Winner.png" alt="2026 Digital Counties Survey Winner"></a> 994 </div> 995 </div> 996 <div class="col-md-6 right-col"> 997 <p class="category">RECOGNITION</p> 998 <h2>Digital Counties Award Winner</h2> 999 Alameda County has once again been recognized as one of the nation's leading digital governments, earning Third Place in the 2026 Digital Counties Survey in the 1 Million or More Population category. The annual survey, conducted by the Center for Digital Government (CDG) in partnership with the National Association of Counties (NACo), honors counties that are using technology to improve government services, strengthen cybersecurity, and enhance quality of life for residents.<br> 1000 <a href="https://acgov.org/government/pressrelease-detail.htm?id=2026-07-22%2009:51:49.743">Read the press release.</a> 1001 </p> 1002 </div> 1003 </div> 1004 </div> 1005 <!-- End of 2026 Digital Counties Award --> 1006 1007 1008 <!-- June 02, 2026 Election Information --> 1009 <!-- <div class="container mt-4">
1010 <div class="row content-container"> --> 1011 <!--Left Column--> 1012 <!-- <div class="col-md-6 left-col"> 1013 <div> 1014 <img src="/acvote/images/RESULTS-AVAILABLE-June16Elections.jpg" alt="The June 16, 2026 Congressional 14, Special Primary Election results are now available."> 1015 </div> 1016 </div> --> 1017 <!--End Left Column--> 1018 <!--Right Column--> 1019 <!-- <div class="col-md-6 right-col"> 1020 <p class="category">ELECTIONS</p> 1021 <h2>Direct Primary Election</h2> 1022 June 02, 2026 1023 <h2>Congressional 14, Special Primary Election Results Available</h2> 1024 The June 16, 2026 Congressional 14, Special Primary Election results are now available.<br> 1025 <a href="https://alamedacountyca.gov/rovresults/261/">Click here for the results</a> 1026 </p> 1027 </div> 1028 End Right Column 1029 </div> 1030 </div> --> 1031 <!-- End June 02, 2026 Election Information --> 1032 1033 <!-- June 02, 2026 Election Information --> 1034 <!-- <div class="container mt-4"> 1035 <div class="row content-container"> --> 1036 <!--Left Column--> 1037 <!-- <div class="col-md-6 left-col"> 1038 <div> 1039 <img src="/acvote/images/RESULTS-AVAILABLE-JuneElections.jpg" alt="The June 02, 2026 Direct Primary Election results are now available."> 1040 </div> 1041 </div> --> 1042 <!--End Left Column--> 1043 <!--Right Column--> 1044 <!-- <div class="col-md-6 right-col"> 1045 <p class="category">ELECTIONS</p> --> 1046 <!-- <h2>Direct Primary Election</h2> 1047 June 02, 2026 --> 1048 <!-- <h2>Direct Primary Election Results Available</h2> 1049 The June 02, 2026 Direct Primary Election results are now available.<br> 1050 <a href="https://alamedacountyca.gov/rovresults/259/">Click here for the results</a> --> 1051 <!-- <ul> 1052 <li><a href="https://acvote.alamedacountyca.gov/election-information/elections?id=259#">Election Information</a></li> 1053 <li><a href="https://alamedacountyca.gov/rovmvp_app/mvp.do">My Voter Profile</a></li> 1054 <li><a href="https://alamedacountyca.gov/rov_app/vcalist">Vote Centers</a></li> 1055 <li><a href="https://acvote.alamedacountyca.gov/voting/ways-of-voting">Ways of Voting</a></li> 1056 <li><a href="https://www.alamedacountyca.gov/rovapps/maps/ballotdropbox_map.htm">Vote By Mail Drop Box Locations</a></li> 1057 </ul> --> 1058 <!-- </p> 1059 </div> --> 1060 <!-- End Right Column 1061 </div> 1062 </div> --> 1063 <!-- End June 02, 2026 Election Information --> 1064 1065 <!-- June 16, 2026 Election Information --> 1066 <!-- <div class="container mt-4"> 1067 <div class="row content-container"> 1068 Left Column 1069 <div class="col-md-6 left-col"> 1070 <div> 1071 <img src="/acvote/images/june-election.png" alt="The June 16, 2026 Congressional 14, Special Primary Election results are now available."> 1072 </div> 1073 </div> 1074 End Left Column 1075 Right Column 1076 <div class="col-md-6 right-col"> 1077 <p class="category">ELECTIONS</p> 1078 <h2>Congressional 14, Special Primary Election</h2> 1079 June 16, 2026 1080 <ul> 1081 <li><a href="https://acvote.alamedacountyca.gov/election-information/elections?id=261#">Election Information</a></li> 1082 <li><a href="https://alamedacountyca.gov/rovmvp_app/mvp.do">My Voter Profile</a></li> 1083 <li><a href="https://alamedacountyca.gov/rov_app/vcalist">Vote Centers</a></li> 1084 <li><a href="https://acvote.alamedacountyca.gov/voting/ways-of-voting">Ways of Voting</a></li> 1085 <li><a href="https://www.alamedacountyca.gov/rovapps/maps/ballotdropbox_map.htm">Vote By Mail Drop Box Locations</a></li> 1086 </ul> 1087 </p> 1088 </div> 1089 End Right Column 1090 </div> 1091 </div> --> 1092 <!-- End June 16, 2026 Election Information 1093 1094 1095 Election Results --> 1096 <!-- <div class="container mt-4"> 1097 <div class="row content-container"> 1098 Left Column 1099 <div class="col-md-6 left-col"> 1100 <div> 1101 <img src="/img/2025electionresultsavailable.jpg" alt="The June 02, 2026 Direct Primary Election results are now available."> 1102 </div> 1103 </div> 1104 End Left Column 1105 Right Column 1106 <div class="col-md-6 right-col"> 1107 <p class="category">ELECTIONS</p> 1108 <h2>Direct Primary Election Results Available</h2> 1109 The June 02, 2026 Direct Primary Election results are now available.<br> 1110 <a href="https://alamedacountyca.gov/rovresults/259/">Click here for the results</a> 1111 </p> 1112 </div> 1113 End Right Column 1114 </div> 1115 </div> 1116 <div class="container mt-4">
1117 <div class="row content-container"> 1118 Left Column 1119 <div class="col-md-6 left-col"> 1120 <div> 1121 <img src="/img/2025electionresultsavailable.jpg" alt="The June 16, 2026 Congressional 14, Special Primary Election results are now available."> 1122 </div> 1123 </div> 1124 End Left Column 1125 Right Column 1126 <div class="col-md-6 right-col"> 1127 <p class="category">ELECTIONS</p> 1128 <h2>Congressional 14, Special Primary Election Results Available</h2> 1129 The June 16, 2026 Congressional 14, Special Primary Election results are now available.<br> 1130 <a href="https://alamedacountyca.gov/rovresults/261/">Click here for the results</a> 1131 </p> 1132 </div> 1133 End Right Column 1134 </div> 1135 </div> --> 1136 <!-- END Election Results--> 1137 1138 1139 <!-- ITEM 8 --> 1140 <div class="container mt-4"> 1141 <div class="row content-container"> 1142 <!-- Left Column --> 1143 <div class="col-md-6 left-col"> 1144 <div> 1145 <a href="https://forms.office.com/Pages/ResponsePage.aspx?id=LP_9Mm74o0ukfWpEp_RaZP9N71g2_F1IusUHXYL436pUNFFNUURaSzIyMThPWU5UNzBTTlRMTEgwTi4u"><img src="/img/a11ysurveygraphic.png" alt="Accessibility Logo on multiple device screens"></a> 1146 </div> 1147 </div> 1148 <!-- End Left Column --> 1149 <!-- Right Column --> 1150 <div class="col-md-6 right-col"> 1151 <p class="category">SURVEY</p> 1152 <h2>We'd Love Your Feedback on Digital Accessibility</h2> 1153 <p>We're working to make our website more accessible for everyone. To help us better understand how people with disabilities access our site- including which browsers, devices, and assistive technologies you use - we invite you to take a short survey. <br> <br> 1154 <a href="https://forms.office.com/Pages/ResponsePage.aspx?id=LP_9Mm74o0ukfWpEp_RaZP9N71g2_F1IusUHXYL436pUNFFNUURaSzIyMThPWU5UNzBTTlRMTEgwTi4u">Take Our Accessibility Survey</a></p> 1155 </div> 1156 <!-- End Right Column --> 1157 </div> 1158 </div> 1159 <div class="container mt-4"> 1160 </div> 1161 <!-- END ITEM 8 --> 1162 <!-- ITEM 0 --> 1163 <!-- <div class="container mt-4"> 1164 <div class="row content-container"> 1165 Left Column 1166 <div class="col-md-6 left-col"> 1167 <div> 1168 <img src="/img/2025electionresultsavailable.jpg" alt="The November 4, 2025 Statewide Special Election results are now available"> 1169 </div> 1170 </div> 1171 End Left Column 1172 Right Column 1173 <div class="col-md-6 right-col"> 1174 <p class="category">ELECTIONS</p> 1175 <h2>Special Election Results Available</h2> 1176 The November 4, 2025 Statewide Special Election results are now available.<br> 1177 <a href="https://alamedacountyca.gov/rovresults/258/">Click here for the results</a> 1178 </p> 1179 </div> 1180 End Right Column 1181 </div> 1182 </div> --> 1183 <!-- <div class="container mt-4"> 1184 <div class="row content-container"> 1185 Left Column 1186 <div class="col-md-6 left-col"> 1187 <div> 1188 <img src="/img/2025electionrvotenow.jpg" alt="November 4, 2025 Statewide Special Election Information"> 1189 </div> 1190 </div> 1191 End Left Column 1192 Right Column 1193 <div class="col-md-6 right-col"> 1194 <div class="subscription-link"> 1195 <a data-toggle="modal" data-target="#modal-govd"> 1196 <img class="img-responsive" src="/img/get-email-updates.png" alt="Get Email Updates with GovDelivery"> 1197 </a> 1198 </div> 1199 <p class="category">ELECTIONS</p> 1200 <h2>November 4th Statewide Special Election</h2> 1201 <ul> 1202 <li><a href="https://acvote.alamedacountyca.gov/election-information/elections?id=258#">Election Information</a></li> 1203 <li><a href="https://alamedacountyca.gov/rovmvp_app/mvp.do">My Voter Profile</a></li> 1204 <li><a href="https://alamedacountyca.gov/rov_app/vcalist">Vote Centers</a></li> 1205 <li><a href="https://acvote.alamedacountyca.gov/voting/ways-of-voting">Ways of Voting</a></li> 1206 <li><a href="https://www.alamedacountyca.gov/rovapps/maps/ballotdropbox_map.htm">Vote By Mail Drop Box Locations</a></li> 1207 </ul> 1208 </p> 1209 </div> 1210 End Right Column 1211 </div> 1212 </div> --> 1213 <!-- END ITEM 0 --> 1214 1215 1216 1217 <!-- ITEM 1 --> 1218 <!-- <div class="container mt-4"> 1219 <div class="row content-container"> 1220 Left Column 1221 <div class="col-md-6 left-col"> 1222 <div> 1223 <img src="/images/homepage/ads/CDG24-DigCounties-Winner-Screen.jpg" alt="Digital Counties back to back winner, 2024 and 2025"> 1224 </div> 1225 </div> 1226 End Left Column 1227 Right Column 1228 <div class="col-md-6 right-col"> 1229 GOV DELIVERY SUBSCRIPTION LINK 1230 <div class="subscription-link">
1231 <a data-toggle="modal" data-target="#modal-govd"> 1232 <img class="img-responsive" src="/img/get-email-updates.png" alt="Get Email Updates with GovDelivery"> 1233 </a> 1234 </div> 1235 <p class="category">RECOGNITION</p> 1236 <h2>2025 Digital Counties Survey Award</h2> 1237 <p>Alameda County is proud to be recognized again by the <strong>Center for Digital Government</strong> as the top digital county among counties with over 1 million residents. This is the 2nd year-in-a-row we have won.<br> 1238 The Digital Counties Survey identifies the best technology practices among U.S. counties, including initiatives that streamline delivery of government services; provide data analytics to allow decisions based on performance and outcomes; enhance cybersecurity; and apply innovative and emerging technologies to county priorities.<br> 1239 Read the CDG <a href="https://www.govtech.com/dc/digital-counties/digital-counties-survey-2025-winners-announced" class="external-link">announcement</a> and <a href="https://www.govtech.com/dc/digital-counties-survey-2025-overhauling-it-putting-ai-to-work?utm_content=338122671&utm_medium=social&utm_source=linkedin&hss_channel=lcp-46685" class="external-link">article</a>.</p> 1240 </div> 1241 End Right Column 1242 </div> 1243 </div> 1244 END ITEM 1 --> 1245 1246 1247 1248 <!-- ITEM 2 1249 <div class="container mt-4"> 1250 <div class="row content-container"> 1251 Left Column 1252 <div class="col-md-6 left-col"> 1253 <div style="text-align: center;"> 1254 <img src="/images/homepage/ads/2025_AA_Seal-color.png" alt="NACo 2025 Achievement seal"> 1255 </div> 1256 </div> 1257 End Left Column 1258 Right Column 1259 <div class="col-md-6 right-col"> 1260 <p class="category">RECOGNITION</p> 1261 <h2>2025 NACo Achievement Awards</h2> 1262 <p>We are proud to have been awarded eight 2025 NACo Achievement Awards. Since 1970, the NACo Achievement Awards have recognized outstanding county government programs and services. Through a non-competitive application process, noteworthy programs receive awards in 18 categories that cover a vast range of county responsibilities. 1263 <ul> 1264 <li>Board Conversational AI Assistant</li> 1265 <li>CBS Maps Tracking Modernization</li> 1266 <li>E2Lite Application using Generative Coding Technology</li> 1267 <li>Election Communication for Military and Overseas Voters</li> 1268 <li>Election Worker W2 and Onboarding Process</li> 1269 <li>Healthy Schools and Communities</li> 1270 <li>Recipe for Health (R4H) Data Management & Optimization</li> 1271 <li>Youth Voting</li> 1272 </ul> 1273 </p> 1274 </div> 1275 End Right Column 1276 </div> 1277 </div> 1278 END ITEM 2 --> 1279 1280 1281 1282 <!-- ITEM 4 --> 1283 <div class="container mt-4"> 1284 <div class="row content-container"> 1285 <!-- Left Column --> 1286 <div class="col-md-6 left-col"> 1287 <div> 1288 <a href="https://vision2036.alamedacountyca.gov/"><img src="/images/homepage/vision-2036.png" alt="Illustration of Sustainable City"></a> 1289 </div> 1290 </div> 1291 <!-- End Left Column --> 1292 <!-- Right Column --> 1293 <div class="col-md-6 right-col"> 1294 <p class="category">FUTURE</p> 1295 <h2>Vision 2036</h2> 1296 <p>ACGOV Vision 2036 is Alameda County's comprehensive effort to set a course for the next decade that embraces the rich culture and diversity of our County, anticipates community challenges, and maximizes our ability to meet residents' needs in a rapidly changing world. 1297 <a href="https://vision2036.alamedacountyca.gov/">
1297Here is how we see Alameda County in 2036</a>. 1298 </p> 1299 </div> 1300 <!-- End Right Column --> 1301 </div> 1302 </div> 1303 <!-- END ITEM 4 --> 1304 1305 <!-- ITEM 3 --> 1306 <div class="container mt-4"> 1307 <div class="row content-container"> 1308 <!-- Left Column --> 1309 <div class="col-md-6 left-col"> 1310 <div> 1311 <a href="/government/pressreleases.htm"><img src="/images/homepage/press-releases.png" alt="Illustration of bullhorns and speech bubbles"></a> 1312 </div> 1313 </div> 1314 <!-- End Left Column --> 1315 <!-- Right Column --> 1316 <div class="col-md-6 right-col"> 1317 <p class="category">PRESS</p> 1318 <h2>Press Releases</h2> 1319 <p>View list of official press releases issued by the County. 1320 <br> 1321 <a href="/government/pressreleases.htm">View Press Releases</a>. 1322 </p> 1323 </div> 1324 <!-- End Right Column --> 1325 </div> 1326 </div> 1327 <!-- END ITEM 3 --> 1328 1329 <!-- ITEM 5 --> 1330 <!-- <div class="container mt-4"> 1331 <div class="row content-container"> 1332 Left Column 1333 <div class="col-md-6 left-col"> 1334 <div> 1335 <img src="/images/homepage/digital-counties-logo-mark.png" alt="Digital Counties logo"> 1336 </div> 1337 </div> 1338 End Left Column 1339 Right Column 1340 <div class="col-md-6 right-col"> 1341 <p class="category">RECOGNITION</p> 1342 <h2>Digital Counties Survey 2024 Winner</h2> 1343 <p>Alameda County is proud to be recognized by the Center for Digital Government<a href="/government/recognition.htm"> 1344 Read more</a>.</p> 1345 </div> 1346 End Right Column 1347 </div> 1348</div> --> 1349 <!-- END ITEM 5 --> 1350 1351 <!-- ITEM 6 1352 <div class="container mt-4"> 1353 <div class="row content-container"> 1354 <div class="col-md-6 left-col"> 1355 <div> 1356 <img src="/images/homepage/supervisor-carson.jpg" alt="Supervisor Keith Carson"> 1357 </div> 1358 </div> 1359 <div class="col-md-6 right-col"> 1360 <p class="category">RECOGNITION</p> 1361 <h2>A Tribute to Supervisor Keith Carson</h2> 1362 <p>We honor Supervisor Keith Carson, a remarkable leader, dedicated public servant, and steadfast advocate for the people of Alameda County.<a href="/government/news/carson.htm"> 1363 <br> 1364 Read more</a>.</p> 1365 </div> 1366 </div> 1367 </div> 1368 END ITEM 6--> 1369 1370 <!-- ITEM 7 --> 1371 <div class="container mt-4"> 1372 <div class="row content-container"> 1373 <!-- Left Column --> 1374 <div class="col-md-6 left-col"> 1375 <div> 1376 <a href="https://acgovcares.alamedacountyca.gov/"><img src="/images/homepage/acgov-cares-logo.png" alt="ACGOV Cares logo" style="border:2px solid #ddd;"></a> 1377 </div> 1378 </div> 1379 <!-- End Left Column --> 1380 <!-- Right Column --> 1381 <div class="col-md-6 right-col"> 1382 <p class="category">COMMUNITY</p> 1383 <h2>ACGOV Cares</h2> 1384 <p>Volunteer opportunities, employee stories, donation options and more. <a href="https://acgovcares.alamedacountyca.gov/"> 1385 <br> 1386 Read more</a>.</p> 1387 </div> 1388 <!-- End Right Column --> 1389 </div> 1390 </div> 1391 <!-- END ITEM 7--> 1392 1393 <!-- ITEM 7 --> 1394 <div class="container mt-4"> 1395 <div class="row content-container"> 1396 <!-- Left Column --> 1397 <div class="col-md-6 left-col"> 1398 <div> 1399 <a href="/acspeaks/"><img src="/images/homepage/language-access.png" alt="Illustration of speech bubbles alternating to convey a conversation by Vecteezy"></a> 1400 </div> 1401 </div> 1402 <!-- End Left Column --> 1403 <!-- Right Column --> 1404 <div class="col-md-6 right-col"> 1405 <p class="category">TOOLS</p> 1406 <h2>Language Access Solutions</h2> 1407 <p>Alameda County residents can communicate with and receive services from the County, regardless of the language they speak. 1408 <a href="/acspeaks/">View Language Access options</a>. 1409 </p> 1410 </div> 1411 <!-- End Right Column --> 1412 </div> 1413 </div> 1414 <!-- END ITEM 7--> 1415 1416 <!-- spacing under last item --> 1417 <div class="container mt-4" style="height:20px; background: #ffffff"> 1418 1419 </div> 1420 <!-- END spacing under last item --> 1421 1422</main> 1423 1424 <!-- BOS --> 1425 <div class="container mt-4 content-container" style="padding-top: 0; margin-top:15px;"> 1426 <h2 class="mb-4 bos-heading">Board of Supervisors</h2> 1427 <div class="row image-grid" style="margin:0;"> 1428 <div class="col-12 col-sm-6 col-md-4 col-lg-5ths"> 1429 <figure class="text-center mb-2"> 1430 <img src="/images/homepage/district-1.jpg" alt="David Haubert" class="img-fluid">
1431 <figcaption class="mt-2 bos-caption"> 1432 <span class="bos-caption2"><a href="https://district1.acgov.org/">District 1</a></span><br> 1433 David Haubert<br> 1434 <span class="bos-caption3">President</span> 1435 </figcaption> 1436 </figure> 1437 </div> 1438 <div class="col-12 col-sm-6 col-md-4 col-lg-5ths"> 1439 <figure class="text-center mb-2 bos-caption"> 1440 <img src="/images/homepage/district-2.jpg" alt="Elisa Márquez" class="img-fluid"> 1441 <figcaption class="mt-2 bos-caption"> 1442 <span class="bos-caption2"><a href="https://district2.acgov.org/">District 2</a></span><br> 1443 Elisa Márquez 1444 </figcaption> 1445 </figure> 1446 </div> 1447 <div class="col-12 col-sm-6 col-md-4 col-lg-5ths"> 1448 <figure class="text-center mb-2 bos-caption"> 1449 <img src="/images/homepage/district-3.jpg" alt="Lena Tam" class="img-fluid"> 1450 <figcaption class="mt-2 bos-caption"> 1451 <span class="bos-caption2"><a href="https://district3.acgov.org/">District 3</a></span><br> 1452 Lena Tam<br> 1453 <span class="bos-caption3">Vice President</span> 1454 </figcaption> 1455 </figure> 1456 </div> 1457 <div class="col-12 col-sm-6 col-md-4 col-lg-5ths"> 1458 <figure class="text-center mb-2 bos-caption"> 1459 <img src="/images/homepage/district-4.jpg" alt="Nate Miley" class="img-fluid"> 1460 <figcaption class="mt-2 bos-caption"> 1461 <span class="bos-caption2"><a href="https://district4.acgov.org/">District 4</a></span><br> 1462 Nate Miley 1463 </figcaption> 1464 </figure> 1465 </div> 1466 <div class="col-12 col-sm-6 col-md-4 col-lg-5ths"> 1467 <figure class="text-center mb-2 bos-caption"> 1468 <img src="/images/homepage/district-5.jpg" alt="Nikki Fortunato Bas" class="img-fluid"> 1469 <figcaption class="mt-2 bos-caption"> 1470 <span class="bos-caption2"><a href="https://district5.acgov.org/">District 5</a></span><br> 1471 Nikki Fortunato Bas 1472 </figcaption> 1473 </figure> 1474 </div> 1475 </div> 1476 </div> 1477 1478 <div class="container mt-4"> 1479 <div class="row content-container-quicklinks" style="margin-top:0"> 1480 <h2 class="mb-4 quick-links-heading">Quick Links</h2> 1481 <!-- Left Column --> 1482 <div class="col-md-6 gov-links"> 1483 <ul> 1484 <li> 1485 <a href="government/departments.htm">Agencies & Departments</a> 1486 </li> 1487 <li> 1488 <a href="https://bos.acgov.org/broadcast/">Board of Supervisors Meetings / Broadcasts / Current Meeting Agenda</a> 1489 </li> 1490 <li> 1491 <a href="/cda/planning/meetings/broadcast.htm">Planning Department Meeting Broadcasts</a> 1492 </li> 1493 1494 <li> 1495 <a href="#" data-toggle="modal" data-target="#modal-cao">County Administrator's Office</a> 1496 </li> 1497 </ul> 1498 </div> 1499 1500 <!-- Right Column --> 1501 <div class="col-md-6 gov-links"> 1502 <ul> 1503 <li> 1504 <a href="government/elected.htm">Elected Officials</a> 1505 </li> 1506 <li> 1507 <a href="government/programs.htm">Programs & Initiatives</a> 1508 </li> 1509 <li> 1510 <a href="http://budget.acgov.org/">Budget Portal</a> 1511 </li> 1512 <li> 1513 <a href="https://alamedacountyca.nextrequest.com/">Alameda County Public Records Portal</a> 1514 </li> 1515 </ul> 1516 </div> 1517 </div> 1518 </div> 1519 1520 <!-- email subscription signup --> 1521 <div class="modal fade" id="modal-govd" tabindex="-1" role="dialog" aria-label="Email subscription sign-up"> 1522 <div class="modal-dialog" role="document"> 1523 <div class="modal-content"> 1524 <div class="modal-header"> 1525 <button type="button" class="close" data-dismiss="modal" aria-label="Close email subscription sign-up dialog">
1526 <span aria-hidden="true">×</span> 1527 </button> 1528 <h3 class="modal-title"> 1529 <span class="material-icons md-36 md-vertical-middle"></span> Get Email Updates 1530 </h3> 1531 </div> 1532 <div class="modal-body deptinfo"> 1533 <form id="GD-snippet-form" action="https://public.govdelivery.com/accounts/CAALAME/subscribers/qualify" accept-charset="UTF-8" method="post"> 1534 <input name="utf8" type="hidden" value="â" /> 1535 <input type="hidden" name="authenticity_token" value="Og1izipZAapbmVioBvav08Yp6RF2enmpMVaUvFUWIgWjE8h632WdH4pZz4jP0NJoSB6RtqPGddhUnED3QpqZSQ==" /> 1536 <input type="hidden" name="topic_id" id="topic_id" value="CAALAME_1" /> 1537 <fieldset> 1538 <div> 1539 <p>Stay connected.</p> 1540 <p>Stay informed.</p> 1541 <p>Get an email whenever County news is updated. To sign up for updates or to access your subscriber 1542 preferences, please enter your contact information below.</p> 1543 </div> 1544 <br /> 1545 <ol class="form"> 1546 <li class="email_fields" style="display: block"> 1547 <label for="email">Email Address</label> 1548 <input type="text" name="email" id="email" class="long" /> 1549 </li> 1550 </ol> 1551 <div class="button_panel"> 1552 <input type="submit" name="commit" value="Subscribe" class="form_button" /> 1553 </div> 1554 </fieldset> 1555 </form> 1556 </div> 1557 </div> 1558 </div> 1559 </div> 1560 1561 <!-- County Administrator's Office ---------------------------------> 1562<div class="modal fade" id="modal-cao" tabindex="-1" role="dialog" aria-label="County Administrator's Office Info"> 1563 <div class="modal-dialog" role="document"> 1564 <div class="modal-content"> 1565 <div class="modal-header"> 1566 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 1567 <h3 class="modal-title">County Administrator's Office</h3> 1568 </div> 1569 <div class="modal-body deptinfo"> 1570 <a class="dept-phone" href="tel:510-272-6984"><span class="material-icons md-48"></span></a> 1571 <a class="dept-map external-link" href="https://goo.gl/maps/qSGNz3QdGsJ2"><span class="material-icons md-48"></span></a> 1572 <p class="dept-address"> 1573 1221 Oak Street, Room 555<br /> 1574 Oakland, CA 94612<br /> 1575 510.272.6984 1576 </p> 1577 <h4 class="deptlinks"><span class="material-icons md-36 md-vertical-middle"></span> Links</h4> 1578 <ul><li><a class="dept-link" href="https://cao.alamedacountyca.gov/">Department Website</a></li></ul> 1579 <h4 class="deptlinks"><span class="material-icons md-36 md-vertical-middle"></span> Online Services</h4> 1580 <ul> 1581 <!-- <li><a class="dept-link" href="http://budget.acgov.org/">Budget Portal</a> --> 1582 <li><a class="dept-link" href="https://budget.acgov.org/Home/Documents">Budget Documents</a> 1583 </li> 1584 </ul> 1585 </div> 1586 </div> 1587 </div> 1588</div> 1589 1590 <div class="modal fade" id="modal-bos" tabindex="-1" role="dialog" aria-label="Board of Supervisors District 1 Info"> 1591 <div class="modal-dialog" role="document"> 1592 <div class="modal-content"> 1593 <div class="modal-header"> 1594 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 1595 <h3 class="modal-title">Board of Supervisors</h3> 1596 </div> 1597 <div class="modal-body deptinfo"> 1598 <a class="dept-phone" href="tel:510-272-6984"><span class="material-icons md-48"></span></a> 1599 <a class="dept-map external-link" href="https://goo.gl/maps/ASWeNCXLefr"><span class="material-icons md-48"></span></a> 1600 <p class="dept-address"> 1601 County Office<br /> 1602 1221 Oak Street, Room 536<br /> 1603 Oakland, CA 94612<br /> 1604 510.272.6984 1605 </p> 1606 <h4 class="deptlinks"><span class="material-icons md-36 md-vertical-middle"></span> Links</h4> 1607 <ul> 1608 <!-- <li><a class="dept-link" href="/board/">Board of Supervisors Website</a></li> --> 1609 <li><a class="dept-link" href="https://bos.alamedacountyca.gov/">Board of Supervisors Website</a></li> 1610 <li><a class="dept-link" href="https://district1.alamedacountyca.gov/">District 1 Website</a></li> 1611 <li><a class="dept-link" href="https://district2.alamedacountyca.gov/">District 2 Website</a></li> 1612 <li><a class="dept-link" href="https://district3.alamedacountyca.gov/">District 3 Website</a></li> 1613 <li><a class="dept-link" href="https://district4.alamedacountyca.gov/">District 4 Website</a></li> 1614 <li><a class="dept-link" href="https://district5.alamedacountyca.gov/">District 5 Website</a></li> 1615 </ul> 1616 <h4 class="deptlinks"><span class="material-icons md-36 md-vertical-middle"></span> Online Services</h4> 1617 <ul><li>
1617<a class="dept-link" href="https://alamedacountyca.gov/rovapps/districtlookup/">Look Up Your District</a></li> 1618 <!-- <li><a class="dept-link" href="/board/broadcast.htm">Watch Board Meetings</a></li> --> 1619 <li><a class="dept-link" href="https://bos.alamedacountyca.gov/broadcast/">Watch Board Meetings</a></li> 1620 </ul> 1621 1622 </div> 1623 </div> 1624 </div> 1625</div> 1626 1627 <!-- ending of role="main" here--> 1628</div> 1629 1630<!-- footer starts here --> 1631<footer class="container-fluid footer"> 1632 <div class="row text-center"> 1633 <p> 1634 <a class="cu" href="/government/contactus.htm">Contact Us</a> | 1635 <a class="acc" href="/government/accessibility.htm">Accessibility</a> | 1636 <a class="la" href="/acspeaks/">Language Access</a> | 1637 <a class="em" href="/emergencysite/">Emergencies</a> | 1638 <a class="ld" href="/government/legal.htm">Legal/Disclaimers</a> | 1639 <a class="ps" href="/government/legal.htm">Privacy Statement</a> | 1640 <a class="gu" href="/government/guidelines.htm">Website Guidelines</a> | 1641 <a class="sb" href="/government/sb272.htm">SB 272 </a> | 1642 <a class="sm" href="/sitemap.htm">Site Map</a> 1643 <br /> 1644 <a href="https://www.facebook.com/AlamedaCounty" class="external-link"><img class="social-icon" src="/img/facebook200x200.png" alt="facbook icon" /></a> 1645 <a href="https://twitter.com/AlamedaCounty" class="external-link"><img class="social-icon" src="/img/twitter200x200.png" alt="Twitter icon" /></a> 1646 <a href="https://www.youtube.com/user/AlamedaCountyCA" class="external-link"><img class="social-icon" src="/img/youtube200x200.png" alt="YouTube icon" /></a> 1647 <a href="https://www.flickr.com/photos/alamedacounty" class="external-link"><img class="social-icon" src="/img/flickr200x200.png" alt="Flickr icon" /></a> 1648 <a href="/government/connected/rss.htm"><img class="social-icon" src="/img/rss200x200.png" alt="RSS icon" /></a> 1649 <a href="https://public.govdelivery.com/accounts/CAALAME/subscriber/new" class="external-link"><img class="social-icon" src="/img/govdelivery200x200.png" alt="GovDelivery icon" /></a> 1650 <br /> 1651 <a href="http://www.adobe.com/go/getreader" class="external-link"> 1652 <img alt="Get Adobe Reader" style="padding: 10px;" src="/img/get-reader.png" /></a> 1653 <br /> 1654 <span class="material-icons md-18" style="vertical-align:bottom"></span> 2025 Alameda County 1655 </p> 1656 </div> 1657</footer> 1658 1659<!-- Bootstrap core JavaScript 1660================================================== --> 1661<!-- Placed at the end of the document so the pages load faster --> 1662
1663<script type="text/javascript"> 1664function googleTranslateElementInit() { 1665 new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'af,am,ar,de,es,fa,fr,gu,hi,id,ja,km,ko,pt,ru,so,sw,tl,ur,vi,yo,zh-CN,zh-TW'}, 'google_translate_element'); 1666} 1667</script>
1667<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1667 1668 1669
1670<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
vendor: 2 bytes, line 1670
1670
1671<script>window.jQuery || document.write('
1671<script src="/acgov-js/jquery.min.js"><\/script>')</script>
vendor: 2 bytes, line 1671
1671
1672<script src="/acgov-js/bootstrap.min.js"></script>
1672 1673<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
1674<script src="/acgov-js/ie10-viewport-bug-workaround.js"></script>
1674 1675<!-- Google Analytics code -->
1676<script>
vendor: 340 bytes, lines 1676-1682
1676 1677 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 1678 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 1679 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 1680 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 1681 1682 ga('create', '
1682UA-48660008-1
vendor: 44 bytes, lines 1682-1683
1682', 'acgov.org'); 1683 ga('send', 'pageview');
1684</script>
1684 1685 1686 1687 1688<!-- External Links--> 1689<!-- External Link Popup - HTML structure --> 1690<div id="external-popup" class="popup-overlay" role="dialog" aria-labelledby="popup-title" aria-hidden="true"> 1691 <div class="popup-content"> 1692 <button id="close-external-popup" class="popup-close" aria-label="Close">X</button> 1693 <p><img src="/img/external-site-icon.svg" width="50px" alt="External Link" class="popup-icon"></p> 1694 <h2 id="popup-title">External Link</h2> 1695 <p>You are about to leave an official Alameda County website. 1696 Alameda County bears no responsibility for the accuracy, legality, accessibility, or content of the external site or for that of subsequent links. 1697 Contact the external site for answers to questions regarding its content.</p> 1698 <div class="popup-button-container"> 1699 <button id="cancel-external" class="popup-button btn btn-default btn-lg">Cancel</button> 1700 <button id="continue-external" class="popup-button btn btn-success btn-lg">Continue</button> 1701 </div> 1702 </div> 1703</div> 1704 1705<!-- External Link Popup JavaScript -->
1706<script> 1707 document.addEventListener("DOMContentLoaded", function () { 1708 const modal = document.getElementById("external-popup"); 1709 const closeButton = document.getElementById("close-external-popup"); 1710 const cancelButton = document.getElementById("cancel-external"); 1711 const continueButton = document.getElementById("continue-external"); 1712 1713 // CHANGED: store the actual trigger element (the link), not document.activeElement 1714 let lastTriggerEl = null; 1715 1716 let popupShownInSession = sessionStorage.getItem('externalPopupShown') === 'true'; 1717 1718 // (Optional but recommended) Make sure dialog semantics are present 1719 if (!modal.hasAttribute('role')) modal.setAttribute('role', 'dialog'); 1720 if (!modal.hasAttribute('aria-modal')) modal.setAttribute('aria-modal', 'true'); 1721 1722 function getFocusableInModal() { 1723 const nodeList = modal.querySelectorAll( 1724 "button, [href], input, select, textarea, [tabindex]:not([tabindex='-1'])" 1725 ); 1726 return Array.from(nodeList).filter(el => !el.hasAttribute('disabled') && el.offsetParent !== null); 1727 } 1728 1729 // CHANGED: accept the trigger element; derive URL from it 1730 function openModal(triggerEl) { 1731 lastTriggerEl = triggerEl; // <-- save the invoker reliably 1732 const externalURL = triggerEl?.href; 1733 1734 modal.style.display = "block"; 1735 modal.setAttribute("aria-hidden", "false"); 1736 1737 // Move focus inside the dialog (prefer the close button; fallback to first focusable or modal) 1738 const focusables = getFocusableInModal(); 1739 (closeButton || focusables[0] || modal).focus(); 1740 1741 continueButton.onclick = () => { 1742 sessionStorage.setItem('externalPopupShown', 'true'); 1743 popupShownInSession = true; 1744 if (externalURL) window.location.href = externalURL; 1745 }; 1746 cancelButton.onclick = closeModal; 1747 closeButton.onclick = closeModal; 1748 1749 document.addEventListener("keydown", trapTabKey); 1750 document.addEventListener("keydown", closeOnEscape); 1751 1752 // If you want "once per session" behavior on open, keep this: 1753 sessionStorage.setItem('externalPopupShown', 'true'); 1754 popupShownInSession = true; 1755 } 1756 1757 function closeModal() { 1758 modal.style.display = "none"; 1759 modal.setAttribute("aria-hidden", "true"); 1760 1761 document.removeEventListener("keydown", trapTabKey); 1762 document.removeEventListener("keydown", closeOnEscape); 1763 1764 // CHANGED: restore focus to the invoker on the next frame for VO/Safari reliability 1765 if (lastTriggerEl && lastTriggerEl.isConnected) { 1766 requestAnimationFrame(() => { 1767 try { 1768 lastTriggerEl.focus({ preventScroll: false }); 1769 } catch (_) { 1770 // Silent fallback 1771 lastTriggerEl.focus(); 1772 } 1773 }); 1774 } 1775 } 1776 1777 function trapTabKey(e) { 1778 if (e.key !== "Tab") return; 1779 1780 const focusableElements = getFocusableInModal(); 1781 if (!focusableElements.length) return; 1782 1783 const firstElement = focusableElements[0]; 1784 const lastElement = focusableElements[focusableElements.length - 1]; 1785 1786 if (e.shiftKey && document.activeElement === firstElement) { 1787 lastElement.focus(); 1788 e.preventDefault(); 1789 } else if (!e.shiftKey && document.activeElement === lastElement) { 1790 firstElement.focus(); 1791 e.preventDefault(); 1792 } 1793 } 1794 1795 function closeOnEscape(e) { 1796 if (e.key === "Escape") { 1797 e.preventDefault(); 1798 closeModal(); 1799 } 1800 } 1801 1802 function setupExternalLinks() { 1803 document.querySelectorAll('a.external-link').forEach(link => { 1804 if (link.children.length === 1 && link.querySelector("button, img, span.material-icons, i.material-icons")) { 1805 link.classList.add("hide-icon"); 1806 } 1807 1808 // CHANGED: pass the actual link as the trigger 1809 link.addEventListener('click', function (e) { 1810 e.preventDefault(); 1811 openModal(link); // was openModal(link.href) 1812 }); 1813 1814 // CHANGED: nested clickable children also pass the link as trigger 1815 link.querySelectorAll("button, img").forEach(element => { 1816 element.addEventListener("click", function (e) { 1817 e.preventDefault(); 1818 openModal(link); // was openModal(link.href) 1819 }); 1820 }); 1821 1822 // ARIA hint that this opens a dialog 1823 if (!link.hasAttribute("aria-haspopup")) { 1824 link.setAttribute("aria-haspopup", "dialog"); 1825 } 1826 }); 1827 } 1828 1829 modal.style.display = "none"; 1830 modal.setAttribute("aria-hidden", "true"); 1831 1832 setupExternalLinks(); 1833 1834 window.addEventListener('pageshow', (event) => { 1835 if (event.persisted && popupShownInSession) { 1836 modal.style.display = "none"; 1837 modal.setAttribute("aria-hidden", "true"); 1838 } 1839 }); 1840 1841 window.addEventListener('beforeunload', () => { 1842 sessionStorage.removeItem('externalPopupShown'); 1843 }); 1844 }); 1845</script>
1845 1846 1847<!-- Automatically sets aria label for phone, email, directions icons -->
1848<script> 1849 const iconGlyphMap = { 1850 '\uE0CD': 'Phone', 1851 '\uE0BE': 'Email', 1852 '\uE52E': 'Get directions' 1853 }; 1854 1855 document.querySelectorAll('.material-icons').forEach(icon => { 1856 const glyph = icon.textContent.trim(); 1857 if (iconGlyphMap[glyph]) { 1858 icon.setAttribute('aria-label', iconGlyphMap[glyph]); 1859 icon.setAttribute('role', 'img'); 1860 } 1861 }); 1862</script>
1862 1863</body> 1864 1865 1866 1867<!-- Siteimprove Analytics Code -->
1868<script async src="https://siteimproveanalytics.com/js/siteanalyze_10984.js"></script>
1868 1869 1870 1871 1872 <survey-modal></survey-modal> 1873 1874</body> 1875 1876</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.