MiniMax MiniMax M3 – Law Government and Politics

via CoreWeave · Generated

  • AIMAC Debt 9.09
  • Cost $0.015
  • Total Violations 17
  • HTML Size 50 KB
  • Em Dashes 11

Screenshot

View MiniMax MiniMax M3 Law Government and Politics page View Live Page

Accessibility Issues Found

17 Serious

  • color-contrast serious 9 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <span>American Bar Association</span>
  • target-size serious 8 instances

    All touch targets must be 24px large, or leave sufficient space

    Example HTML <a href="#">Voter Information</a>

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Civic Compass — Your Trusted Guide to Law, Policy & Civic Engagement</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;900&family=Source+Sans+3:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
  :root{
    --navy:#0f2444;
    --navy-deep:#0a1a33;
    --burgundy:#8b1e3f;
    --burgundy-dark:#6b1731;
    --gold:#c9a961;
    --gold-soft:#e8d9a8;
    --cream:#faf8f3;
    --paper:#ffffff;
    --ink:#1f2230;
    --muted:#5b6271;
    --line:#e5dfd1;
    --line-soft:#f0ead9;
    --shadow:0 10px 30px rgba(15,36,68,.08);
    --shadow-lg:0 20px 50px rgba(15,36,68,.15);
    --serif:'Playfair Display', Georgia, serif;
    --sans:'Source Sans 3','Source Sans Pro',-apple-system,BlinkMacSystemFont,sans-serif;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
    font-size:17px;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:700;color:var(--navy);letter-spacing:-.01em;line-height:1.2}
  h1{font-size:clamp(2.4rem,5vw,4rem)}
  h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:1rem}
  h3{font-size:1.35rem;margin-bottom:.6rem}
  p{margin-bottom:1rem}
  .container{max-width:1240px;margin:0 auto;padding:0 1.5rem}

  /* ============ TOP BAR ============ */
  .topbar{background:var(--navy-deep);color:#cfd6e3;font-size:.85rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
  .topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}
  .topbar a{color:#cfd6e3;transition:color .2s}
  .topbar a:hover{color:var(--gold)}
  .topbar-left{display:flex;gap:1.25rem;align-items:center}
  .topbar-left span{display:inline-flex;align-items:center;gap:.4rem}
  .topbar-right{display:flex;gap:1rem;align-items:center}
  .topbar-social{display:flex;gap:.5rem}
  .topbar-social a{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);font-size:.7rem}
  .topbar-social a:hover{background:var(--gold);color:var(--navy-deep)}

  /* ============ HEADER ============ */
  header.main{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(15,36,68,.04)}
  .header-inner{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;max-width:1240px;margin:0 auto;gap:1.5rem}
  .brand{display:flex;align-items:center;gap:.9rem}
  .brand-logo{
    width:56px;height:56px;border-radius:50%;
    background:linear-gradient(135deg,var(--navy) 0%,var(--burgundy) 100%);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);font-family:var(--serif);font-weight:900;font-size:1.6rem;
    border:2px solid var(--gold);flex-shrink:0;
  }
  .brand-text{display:flex;flex-direction:column;line-height:1.1}
  .brand-name{font-family:var(--serif);font-weight:900;font-size:1.5rem;color:var(--navy)}
  .brand-tagline{font-size:.78rem;color:var(--muted);font-style:italic;letter-spacing:.04em}

  nav.primary{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
  nav.primary a{
    color:var(--ink);font-weight:500;font-size:.95rem;
    padding:.55rem .9rem;border-radius:6px;
    transition:all .2s;position:relative;
  }
  nav.primary a:hover{color:var(--burgundy);background:var(--line-soft)}
  nav.primary a.active{color:var(--burgundy)}
  nav.primary a.active::after{
    content:'';position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);
    width:18px;height:2px;background:var(--gold);
  }
  .nav-cta{
    background:var(--burgundy);color:#fff !important;padding:.6rem 1.2rem !important;
    border-radius:6px;font-weight:600;transition:all .2s;margin-left:.5rem;
  }
  .nav-cta:hover{background:var(--burgundy-dark);transform:translateY(-1px)}

  /* ============ HERO ============ */
  .hero{
    position:relative;overflow:hidden;
    background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 50%,#1a3563 100%);
    color:#fff;padding:5rem 0 6rem;
  }
  .hero::before{
    content:'';position:absolute;inset:0;
    background:url('https://picsum.photos/1600/900?blur=2') center/cover;opacity:.12;
  }
  .hero::after{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at top right,rgba(201,169,97,.15),transparent 60%);
  }
  .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}
  .hero-eyebrow{
    display:inline-flex;align-items:center;gap:.5rem;
    color:var(--gold);font-size:.85rem;font-weight:600;letter-spacing:.18em;
    text-transform:uppercase;margin-bottom:1.2rem;
    padding:.4rem .9rem;background:rgba(201,169,97,.12);
    border:1px solid rgba(201,169,97,.3);border-radius:99px;
  }
  .hero h1{
    color:#fff;font-size:clamp(2.5rem,5.2vw,4.2rem);font-weight:700;
    margin-bottom:1.5rem;line-height:1.05;
  }
  .hero h1 em{color:var(--gold);font-style:normal;font-weight:900}
  .hero-lead{font-size:1.15rem;color:#d4dbe8;margin-bottom:2rem;max-width:560px;line-height:1.65}
  .hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:2.5rem}
  .btn{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.9rem 1.6rem;border-radius:6px;font-weight:600;font-size:1rem;
    transition:all .2s;cursor:pointer;border:2px solid transparent;
    font-family:var(--sans);
  }
  .btn-primary{background:var(--burgundy);color:#fff}
  .btn-primary:hover{background:var(--burgundy-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
  .btn-gold{background:var(--gold);color:var(--navy-deep)}
  .btn-gold:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
  .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
  .btn-outline:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,169,97,.08)}
  .btn-light{background:#fff;color:var(--navy);border-color:#fff}
  .btn-light:hover{background:var(--cream);transform:translateY(-2px)}
  .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:520px}
  .hero-stat{padding-top:1rem;border-top:2px solid var(--gold)}
  .hero-stat-num{font-family:var(--serif);font-size:2rem;font-weight:900;color:var(--gold);line-height:1}
  .hero-stat-label{font-size:.82rem;color:#aab4c5;margin-top:.3rem;text-transform:uppercase;letter-spacing:.05em}

  .hero-card{
    background:#fff;color:var(--ink);padding:2rem;border-radius:12px;
    box-shadow:var(--shadow-lg);position:relative;
  }
  .hero-card::before{
    content:'';position:absolute;top:-10px;left:30px;width:60px;height:10px;
    background:var(--gold);border-radius:99px 99px 0 0;
  }
  .hero-card h3{color:var(--navy);font-size:1.4rem;margin-bottom:.5rem}
  .hero-card .card-sub{color:var(--muted);font-size:.9rem;margin-bottom:1.5rem}
  .quick-field{margin-bottom:1rem}
  .quick-field label{display:block;font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}
  .quick-field select,.quick-field input{
    width:100%;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:6px;
    font-family:var(--sans);font-size:.95rem;color:var(--ink);background:#fff;
    transition:border-color .2s;
  }
  .quick-field select:focus,.quick-field input:focus{outline:none;border-color:var(--gold)}
  .hero-card .btn{width:100%;justify-content:center;margin-top:.5rem}
  .card-trust{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.78rem;color:var(--muted);justify-content:center}

  /* ============ TRUST BAR ============ */
  .trustbar{background:#fff;padding:1.8rem 0;border-bottom:1px solid var(--line)}
  .trustbar-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
  .trustbar-label{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
  .trustbar-logos{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap}
  .trustbar-logos span{font-family:var(--serif);font-weight:700;color:#a8a89c;font-size:1.15rem;letter-spacing:.02em}

  /* ============ SECTIONS ============ */
  section{padding:5rem 0}
  .section-head{text-align:center;max-width:720px;margin:0 auto 3.5rem}
  .section-eyebrow{display:inline-block;color:var(--burgundy);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.8rem}
  .section-head h2{margin-bottom:1rem}
  .section-head p{color:var(--muted);font-size:1.08rem}

  /* ============ FEATURE GRID ============ */
  .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
  .feature-card{
    background:#fff;padding:2rem;border-radius:10px;border:1px solid var(--line);
    transition:all .25s;position:relative;overflow:hidden;
  }
  .feature-card::before{
    content:'';position:absolute;top:0;left:0;width:100%;height:3px;
    background:var(--gold);transform:scaleX(0);transform-origin:left;
    transition:transform .3s;
  }
  .feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-soft)}
  .feature-card:hover::before{transform:scaleX(1)}
  .feature-icon{
    width:52px;height:52px;border-radius:10px;
    background:linear-gradient(135deg,var(--navy),var(--burgundy));
    color:var(--gold);display:flex;align-items:center;justify-content:center;
    font-size:1.5rem;margin-bottom:1.2rem;
  }
  .feature-card h3{font-size:1.2rem}
  .feature-card p{color:var(--muted);font-size:.95rem;margin-bottom:1rem}
  .feature-link{
    color:var(--burgundy);font-weight:600;font-size:.9rem;
    display:inline-flex;align-items:center;gap:.3rem;transition:gap .2s;
  }
  .feature-link:hover{gap:.6rem}

  /* ============ INTERACTIVE / VOTER TOOL ============ */
  .voter-tool{background:var(--navy);color:#fff;padding:5rem 0;position:relative;overflow:hidden}
  .voter-tool::before{
    content:'';position:absolute;inset:0;
    background:url('https://picsum.photos/1400/600?blur=3') center/cover;opacity:.08;
  }
  .voter-tool .container{position:relative;z-index:2}
  .voter-tool h2{color:#fff}
  .voter-tool .section-head p{color:#aab4c5}
  .voter-tool .section-eyebrow{color:var(--gold)}
  .voter-card{
    background:#fff;color:var(--ink);border-radius:14px;padding:2.5rem;
    max-width:880px;margin:0 auto;box-shadow:var(--shadow-lg);
  }
  .voter-card h3{font-size:1.6rem;margin-bottom:.5rem}
  .voter-card .sub{color:var(--muted);margin-bottom:2rem}
  .voter-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-bottom:2rem}
  .voter-step{
    background:var(--cream);padding:1.3rem;border-radius:8px;
    border:1px solid var(--line);position:relative;
  }
  .step-num{
    width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--navy-deep);
    font-family:var(--serif);font-weight:900;display:flex;align-items:center;justify-content:center;
    margin-bottom:.8rem;font-size:1rem;
  }
  .voter-step h4{font-family:var(--sans);font-size:1rem;color:var(--navy);margin-bottom:.4rem}
  .voter-step p{color:var(--muted);font-size:.88rem;margin:0}
  .voter-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.8rem;align-items:end}
  .voter-form .quick-field label{color:var(--navy)}
  .voter-form .btn{height:46px}

  /* ============ LEGISLATIVE ============ */
  .legislative{background:#fff}
  .leg-grid{display:grid;grid-template-columns:2fr 1fr;gap:2.5rem}
  .bills{display:flex;flex-direction:column;gap:1rem}
  .bill{
    background:var(--cream);padding:1.4rem 1.6rem;border-radius:10px;
    border-left:4px solid var(--gold);display:flex;justify-content:space-between;
    align-items:center;gap:1rem;transition:all .2s;
  }
  .bill:hover{background:#fff;border-left-color:var(--burgundy);box-shadow:var(--shadow)}
  .bill-info h4{font-family:var(--sans);font-size:1.05rem;color:var(--navy);margin-bottom:.4rem;font-weight:600}
  .bill-meta{display:flex;gap:.7rem;align-items:center;font-size:.82rem;color:var(--muted);flex-wrap:wrap}
  .bill-tag{
    background:var(--navy);color:#fff;padding:.2rem .6rem;border-radius:4px;
    font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
  }
  .bill-status{padding:.25rem .7rem;border-radius:99px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
  .bill-status.introduced{background:#e0e7f0;color:#1e3a5f}
  .bill-status.committee{background:#fef3c7;color:#92400e}
  .bill-status.floored{background:#d1fae5;color:#065f46}
  .bill-status.passed{background:#c9a961;color:#0a1a33}

  .sidebar{background:var(--cream);padding:1.8rem;border-radius:10px;border:1px solid var(--line)}
  .sidebar h3{font-size:1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
  .sidebar h3::before{content:'';width:24px;height:3px;background:var(--gold);border-radius:2px}
  .cal-item{
    display:flex;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);
  }
  .cal-item:last-child{border-bottom:none}
  .cal-date{
    background:var(--navy);color:var(--gold);padding:.5rem .7rem;border-radius:6px;
    text-align:center;min-width:54px;flex-shrink:0;
  }
  .cal-date .m{font-size:.7rem;text-transform:uppercase;font-weight:600;display:block}
  .cal-date .d{font-family:var(--serif);font-size:1.3rem;font-weight:900;display:block;line-height:1}
  .cal-info h5{font-size:.95rem;color:var(--navy);margin-bottom:.2rem;font-family:var(--sans);font-weight:600}
  .cal-info p{font-size:.82rem;color:var(--muted);margin:0}
  .trending-list{list-style:none;margin-top:1rem}
  .trending-list li{padding:.7rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:.5rem}
  .trending-list li:last-child{border-bottom:none}
  .trending-list a{color:var(--ink);font-weight:500;font-size:.92rem;transition:color .2s}
  .trending-list a:hover{color:var(--burgundy)}
  .trend-count{font-size:.78rem;color:var(--muted);background:var(--line-soft);padding:.15rem .5rem;border-radius:99px}

  /* ============ ADVOCACY WINS ============ */
  .advocacy{background:linear-gradient(180deg,var(--cream) 0%,#fff 100%)}
  .wins-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
  .win-card{
    background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--line);
    transition:all .25s;
  }
  .win-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .win-img{height:200px;overflow:hidden;position:relative}
  .win-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
  .win-card:hover .win-img img{transform:scale(1.05)}
  .win-badge{
    position:absolute;top:1rem;left:1rem;background:var(--gold);color:var(--navy-deep);
    padding:.3rem .8rem;border-radius:99px;font-size:.75rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.05em;
  }
  .win-body{padding:1.5rem}
  .win-body h3{font-size:1.15rem;margin-bottom:.5rem}
  .win-body p{color:var(--muted);font-size:.92rem;margin-bottom:1rem}
  .win-metric{
    display:flex;justify-content:space-between;padding:.8rem 0;
    border-top:1px solid var(--line);margin-top:.5rem;
  }
  .win-metric-item{text-align:center}
  .win-metric-item .n{font-family:var(--serif);font-weight:900;color:var(--burgundy);font-size:1.4rem;display:block;line-height:1}
  .win-metric-item .l{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}

  /* ============ TESTIMONIALS ============ */
  .testimonials{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden}
  .testimonials::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(circle at 20% 50%,rgba(201,169,97,.08),transparent 50%);
  }
  .testimonials .container{position:relative;z-index:2}
  .testimonials h2{color:#fff}
  .testimonials .section-head p{color:#aab4c5}
  .testimonials .section-eyebrow{color:var(--gold)}
  .testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}
  .testi-card{
    background:rgba(255,255,255,.05);backdrop-filter:blur(10px);
    padding:2rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);
    transition:all .25s;
  }
  .testi-card:hover{background:rgba(255,255,255,.08);transform:translateY(-3px)}
  .testi-quote{font-size:2.5rem;color:var(--gold);font-family:var(--serif);line-height:1;margin-bottom:.5rem}
  .testi-text{color:#d4dbe8;font-style:italic;margin-bottom:1.5rem;line-height:1.65}
  .testi-author{display:flex;align-items:center;gap:1rem}
  .testi-avatar{
    width:52px;height:52px;border-radius:50%;border:2px solid var(--gold);
    object-fit:cover;
  }
  .testi-name{font-weight:600;color:#fff;display:block}
  .testi-role{font-size:.85rem;color:#aab4c5}

  /* ============ FAQ ============ */
  .faq{background:#fff}
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
  .faq-list{display:flex;flex-direction:column;gap:.6rem}
  .faq-item{
    background:var(--cream);border:1px solid var(--line);border-radius:8px;
    overflow:hidden;transition:all .2s;
  }
  .faq-item:hover{border-color:var(--gold-soft)}
  .faq-item[open]{background:#fff;border-color:var(--gold);box-shadow:var(--shadow)}
  .faq-q{
    padding:1.1rem 1.4rem;cursor:pointer;font-weight:600;color:var(--navy);
    display:flex;justify-content:space-between;align-items:center;gap:1rem;
    list-style:none;font-size:1rem;
  }
  .faq-q::-webkit-details-marker{display:none}
  .faq-q::after{
    content:'+';color:var(--burgundy);font-size:1.4rem;font-weight:300;
    transition:transform .2s;flex-shrink:0;
  }
  .faq-item[open] .faq-q::after{transform:rotate(45deg)}
  .faq-a{padding:0 1.4rem 1.2rem;color:var(--muted);font-size:.95rem;line-height:1.7}
  .faq-side{
    background:linear-gradient(135deg,var(--navy),var(--burgundy));
    color:#fff;padding:2.5rem;border-radius:12px;position:relative;overflow:hidden;
  }
  .faq-side::before{
    content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;
    background:rgba(201,169,97,.1);border-radius:50%;
  }
  .faq-side h3{color:#fff;font-size:1.5rem;margin-bottom:1rem;position:relative}
  .faq-side p{color:#cfd6e3;margin-bottom:1.5rem;position:relative}
  .faq-side .btn{position:relative}
  .faq-side ul{list-style:none;margin-bottom:1.5rem;position:relative}
  .faq-side li{padding:.4rem 0;padding-left:1.5rem;position:relative;color:#d4dbe8;font-size:.95rem}
  .faq-side li::before{
    content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700;
  }

  /* ============ CTA / NEWSLETTER ============ */
  .newsletter{padding:5rem 0;background:var(--cream)}
  .news-card{
    background:linear-gradient(135deg,var(--burgundy) 0%,var(--burgundy-dark) 100%);
    border-radius:14px;padding:3rem;color:#fff;text-align:center;
    position:relative;overflow:hidden;
  }
  .news-card::before{
    content:'';position:absolute;top:0;right:0;width:300px;height:300px;
    background:radial-gradient(circle,rgba(201,169,97,.2),transparent 70%);
  }
  .news-card h2{color:#fff;margin-bottom:1rem;position:relative}
  .news-card p{color:#e8c5d3;font-size:1.08rem;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto;position:relative}
  .news-form{
    display:flex;gap:.6rem;max-width:480px;margin:0 auto;position:relative;
  }
  .news-form input{
    flex:1;padding:.85rem 1.1rem;border:none;border-radius:6px;
    font-family:var(--sans);font-size:1rem;
  }
  .news-form input:focus{outline:2px solid var(--gold)}
  .news-form .btn{padding:.85rem 1.6rem}

  /* ============ FOOTER ============ */
  footer{background:var(--navy-deep);color:#aab4c5;padding:4rem 0 1.5rem;font-size:.92rem}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
  .footer-brand .brand-logo{margin-bottom:1rem}
  .footer-brand .brand-name{color:#fff}
  .footer-brand p{color:#aab4c5;margin:1rem 0 1.5rem;font-size:.92rem}
  .footer-social{display:flex;gap:.5rem}
  .footer-social a{
    width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);
    display:inline-flex;align-items:center;justify-content:center;
    color:#cfd6e3;transition:all .2s;
  }
  .footer-social a:hover{background:var(--gold);color:var(--navy-deep);transform:translateY(-2px)}
  .footer h4{
    color:#fff;font-family:var(--sans);font-size:1rem;font-weight:600;
    margin-bottom:1.2rem;text-transform:uppercase;letter-spacing:.08em;
  }
  .footer ul{list-style:none}
  .footer ul li{margin-bottom:.6rem}
  .footer ul a{color:#aab4c5;transition:color .2s;font-size:.92rem}
  .footer ul a:hover{color:var(--gold)}
  .footer-contact-item{display:flex;gap:.6rem;margin-bottom:.7rem;align-items:flex-start;font-size:.9rem}
  .footer-contact-item svg{flex-shrink:0;color:var(--gold);margin-top:.15rem}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  }
  .footer-bottom p{font-size:.85rem;margin:0}
  .footer-legal{display:flex;gap:1.5rem;font-size:.85rem}
  .footer-legal a:hover{color:var(--gold)}

  /* ============ RESPONSIVE ============ */
  @media (max-width:1024px){
    .hero-grid{grid-template-columns:1fr;gap:2rem}
    .leg-grid{grid-template-columns:1fr}
    .faq-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:2rem}
    .footer-brand{grid-column:span 3}
  }
  @media (max-width:768px){
    .header-inner{flex-direction:column;align-items:flex-start;gap:1rem}
    nav.primary{justify-content:flex-start;width:100%}
    nav.primary a{padding:.5rem .7rem;font-size:.9rem}
    .nav-cta{margin-left:0;margin-top:.5rem}
    .hero{padding:3rem 0 4rem}
    .hero-stats{grid-template-columns:1fr 1fr}
    .voter-form{grid-template-columns:1fr}
    .news-form{flex-direction:column}
    section{padding:3rem 0}
    .footer-grid{grid-template-columns:1fr 1fr}
    .footer-brand{grid-column:span 2}
    .footer-bottom{flex-direction:column;text-align:center}
    .topbar-left{font-size:.78rem;gap:.75rem}
    .topbar-left span:nth-child(3){display:none}
  }
  @media (max-width:480px){
    .hero-stats{grid-template-columns:1fr}
    .voter-card{padding:1.5rem}
    .footer-grid{grid-template-columns:1fr}
    .footer-brand{grid-column:span 1}
  }
</style>
</head>
<body>

<!-- TOP UTILITY BAR -->
<div class="topbar">
  <div class="container topbar-inner">
    <div class="topbar-left">
      <span>📍 1401 Constitution Ave NW, Washington, DC 20230</span>
      <span>📞 (202) 555-0142</span>
      <span>✉️ contact@civiccompass.org</span>
    </div>
    <div class="topbar-right">
      <a href="#">Member Sign In</a>
      <a href="#">Volunteer</a>
      <div class="topbar-social">
        <a href="#" aria-label="Facebook">f</a>
        <a href="#" aria-label="Twitter">𝕏</a>
        <a href="#" aria-label="LinkedIn">in</a>
      </div>
    </div>
  </div>
</div>

<!-- HEADER -->
<header class="main">
  <div class="header-inner">
    <a href="#" class="brand">
      <div class="brand-logo">CC</div>
      <div class="brand-text">
        <span class="brand-name">Civic Compass</span>
        <span class="brand-tagline">Law • Policy • Civic Engagement</span>
      </div>
    </a>
    <nav class="primary">
      <a href="#" class="active">Home</a>
      <a href="#services">Services</a>
      <a href="#legislative">Legislation</a>
      <a href="#advocacy">Advocacy</a>
      <a href="#events">Events</a>
      <a href="#faq">Resources</a>
      <a href="#contact">Contact</a>
      <a href="#donate" class="nav-cta">Donate</a>
    </nav>
  </div>
</header>

<!-- HERO -->
<section class="hero">
  <div class="container hero-grid">
    <div>
      <span class="hero-eyebrow">⚖️ A 501(c)(3) Nonpartisan Civic Organization</span>
      <h1>Navigate Democracy with <em>Confidence & Clarity</em></h1>
      <p class="hero-lead">For over four decades, Civic Compass has empowered citizens across the nation to understand their legal rights, engage with the legislative process, and participate meaningfully in the democratic institutions that shape their lives. Whether you're registering to vote, tracking a bill through Congress, or seeking legal aid, we provide the trusted resources and expert guidance you need.</p>
      <div class="hero-ctas">
        <a href="#voter" class="btn btn-gold">Register to Vote →</a>
        <a href="#legislative" class="btn btn-outline">Track Legislation</a>
      </div>
      <div class="hero-stats">
        <div class="hero-stat">
          <div class="hero-stat-num">2.4M+</div>
          <div class="hero-stat-label">Citizens Helped</div>
        </div>
        <div class="hero-stat">
          <div class="hero-stat-num">187</div>
          <div class="hero-stat-label">Laws Reformed</div>
        </div>
        <div class="hero-stat">
          <div class="hero-stat-num">50</div>
          <div class="hero-stat-label">States Covered</div>
        </div>
      </div>
    </div>
    <div class="hero-card">
      <h3>Find Your Polling Location</h3>
      <p class="card-sub">Quick lookup · No registration required · Secure & private</p>
      <div class="quick-field">
        <label for="state">Your State</label>
        <select id="state">
          <option>Select your state...</option>
          <option>California</option>
          <option>New York</option>
          <option>Texas</option>
          <option>Florida</option>
          <option>Illinois</option>
          <option>Pennsylvania</option>
          <option>Ohio</option>
          <option>Georgia</option>
        </select>
      </div>
      <div class="quick-field">
        <label for="zip">ZIP Code</label>
        <input type="text" id="zip" placeholder="e.g. 20001" maxlength="5">
      </div>
      <a href="#" class="btn btn-primary">Find My Polling Place →</a>
      <div class="card-trust">🔒 Your information is never stored or shared</div>
    </div>
  </div>
</section>

<!-- TRUST BAR -->
<div class="trustbar">
  <div class="container trustbar-inner">
    <span class="trustbar-label">Trusted Partners & Endorsements</span>
    <div class="trustbar-logos">
      <span>American Bar Association</span>
      <span>League of Women Voters</span>
      <span>Brennan Center</span>
      <span>NAACP Legal Defense</span>
      <span>Public Citizen</span>
    </div>
  </div>
</div>

<!-- FEATURED SERVICES -->
<section id="services">
  <div class="container">
    <div class="section-head">
      <span class="section-eyebrow">Our Core Programs</span>
      <h2>Four Pillars of Civic Empowerment</h2>
      <p>From the ballot box to the courtroom, our programs equip citizens with the knowledge, tools, and networks needed to be effective participants in our democracy.</p>
    </div>
    <div class="features-grid">
      <div class="feature-card">
        <div class="feature-icon">🗳️</div>
        <h3>Voter Information Hub</h3>
        <p>Access comprehensive voter guides, registration deadlines, polling location finders, and ballot measure explanations. Our nonpartisan voter education materials help you make informed decisions on Election Day and beyond.</p>
        <a href="#voter" class="feature-link">Explore voter resources →</a>
      </div>
      <div class="feature-card">
        <div class="feature-icon">⚖️</div>
        <h3>Know Your Legal Rights</h3>
        <p>Free legal clinics, rights cards in twelve languages, and a statewide referral network connecting you with pro bono attorneys. Whether facing housing disputes, employment issues, or civil liberties concerns, help is one call away.</p>
        <a href="#" class="feature-link">Get legal aid →</a>
      </div>
      <div class="feature-card">
        <div class="feature-icon">🏛️</div>
        <h3>Legislative Tracking</h3>
        <p>Monitor bills as they move through the legislative process—from introduction to committee hearings to floor votes. Receive personalized alerts on issues you care about and find your elected representatives' contact information instantly.</p>
        <a href="#legislative" class="feature-link">Track bills now →</a>
      </div>
      <div class="feature-card">
        <div class="feature-icon">📚</div>
        <h3>Civic Education</h3>
        <p>Workshops, webinars, and curricula for students, new citizens, and community leaders. Topics include how a bill becomes law, understanding the Constitution, local government processes, and effective advocacy techniques.</p>
        <a href="#" class="feature-link">Browse workshops →</a>
      </div>
    </div>
  </div>
</section>

<!-- INTERACTIVE VOTER TOOL -->
<section id="voter" class="voter-tool">
  <div class="container">
    <div class="section-head">
      <span class="section-eyebrow">🗳️ Interactive Tool</span>
      <h2>Check Your Voter Registration Status</h2>
      <p>Verify your registration, view upcoming elections, and find your assigned polling location in under 60 seconds.</p>
    </div>
    <div class="voter-card">
      <h3>Three steps to election readiness</h3>
      <p class="sub">Used by over 800,000 citizens during the last election cycle. Official data sourced from state election offices.</p>
      <div class="voter-steps">
        <div class="voter-step">
          <div class="step-num">1</div>
          <h4>Verify Eligibility</h4>
          <p>Confirm your registration is active and your address is current.</p>
        </div>
        <div class="voter-step">
          <div class="step-num">2</div>
          <h4>Review Your Ballot</h4>
          <p>See candidates, ballot measures, and judicial retentions specific to you.</p>
        </div>
        <div class="voter-step">
          <div class="step-num">3</div>
          <h4>Plan to Vote</h4>
          <p>Find your polling place, hours, and early voting options.</p>
        </div>
      </div>
      <form class="voter-form" onsubmit="event.preventDefault(); alert('Searching voter registration records... (Demo)');">
        <div class="quick-field">
          <label for="v-state">State</label>
          <select id="v-state" required>
            <option value="">Choose state</option>
            <option>Virginia</option>
            <option>Maryland</option>
            <option>Pennsylvania</option>
            <option>North Carolina</option>
          </select>
        </div>
        <div class="quick-field">
          <label for="v-first">First Name</label>
          <input type="text" id="v-first" placeholder="Jane" required>
        </div>
        <div class="quick-field">
          <label for="v-last">Last Name</label>
          <input type="text" id="v-last" placeholder="Doe" required>
        </div>
        <button type="submit" class="btn btn-primary">Check Status →</button>
      </form>
      <p style="text-align:center;color:var(--muted);font-size:.82rem;margin:1rem 0 0">🔒 This lookup is anonymous. We do not store, share, or sell any personal information entered.</p>
    </div>
  </div>
</section>

<!-- LEGISLATIVE TRACKER -->
<section id="legislative" class="legislative">
  <div class="container">
    <div class="section-head">
      <span class="section-eyebrow">🏛️ Capitol Watch</span>
      <h2>Active Legislation Tracker</h2>
      <p>Stay informed on bills moving through Congress and state legislatures. Updated daily by our team of policy analysts in coordination with legislative clerks.</p>
    </div>
    <div class="leg-grid">
      <div class="bills">
        <div class="bill">
          <div class="bill-info">
            <h4>H.R. 4824 — Voting Rights Advancement Act</h4>
            <div class="bill-meta">
              <span class="bill-tag">House</span>
              <span>Introduced Jul 24, 2024</span>
              <span>•</span>
              <span>118th Congress</span>
            </div>
          </div>
          <span class="bill-status committee">In Committee</span>
        </div>
        <div class="bill">
          <div class="bill-info">
            <h4>S. 2193 — Campaign Finance Reform Act</h4>
            <div class="bill-meta">
              <span class="bill-tag">Senate</span>
              <span>Floor Vote Scheduled</span>
              <span>•</span>
              <span>118th Congress</span>
            </div>
          </div>
          <span class="bill-status floored">On Floor</span>
        </div>
        <div class="bill">
          <div class="bill-info">
            <h4>H.R. 3451 — Public Financing of Elections</h4>
            <div class="bill-meta">
              <span class="bill-tag">House</span>
              <span>Passed House</span>
              <span>•</span>
              <span>Sent to Senate</span>
            </div>
          </div>
          <span class="bill-status passed">Passed</span>
        </div>
        <div class="bill">
          <div class="bill-info">
            <h4>S. 1507 — Judicial Ethics & Transparency Act</h4>
            <div class="bill-meta">
              <span class="bill-tag">Senate</span>
              <span>Hearing Scheduled</span>
              <span>•</span>
              <span>118th Congress</span>
            </div>
          </div>
          <span class="bill-status committee">In Committee</span>
        </div>
        <div class="bill">
          <div class="bill-info">
            <h4>H.R. 5610 — Whistleblower Protection Expansion</h4>
            <div class="bill-meta">
              <span class="bill-tag">House</span>
              <span>Introduced Sep 12, 2024</span>
              <span>•</span>
              <span>118th Congress</span>
            </div>
          </div>
          <span class="bill-status introduced">Introduced</span>
        </div>
        <a href="#" class="btn btn-primary" style="margin-top:1rem;align-self:flex-start">View Full Legislative Database →</a>
      </div>

      <aside>
        <!-- Election Calendar Sidebar -->
        <div class="sidebar" style="margin-bottom:1.5rem">
          <h3>📅 Election Calendar</h3>
          <div class="cal-item">
            <div class="cal-date"><span class="m">Oct</span><span class="d">15</span></div>
            <div class="cal-info">
              <h5>Voter Registration Deadline</h5>
              <p>Last day to register for the General Election in most states</p>
            </div>
          </div>
          <div class="cal-item">
            <div class="cal-date"><span class="m">Oct</span><span class="d">28</span></div>
            <div class="cal-info">
              <h5>Early Voting Begins</h5>
              <p>Early voting opens in 38 states — find your location</p>
            </div>
          </div>
          <div class="cal-item">
            <div class="cal-date"><span class="m">Nov</span><span class="d">05</span></div>
            <div class="cal-info">
              <h5>General Election Day</h5>
              <p>Polls open 6 AM – 8 PM in most jurisdictions</p>
            </div>
          </div>
          <div class="cal-item">
            <div class="cal-date"><span class="m">Dec</span><span class="d">17</span></div>
            <div class="cal-info">
              <h5>Electoral College Vote</h5>
              <p>Electors meet in state capitals to formalize results</p>
            </div>
          </div>
        </div>

        <!-- Trending Issues -->
        <div class="sidebar">
          <h3>🔥 Trending Issues</h3>
          <ul class="trending-list">
            <li><a href="#">Reproductive Rights Legislation</a><span class="trend-count">12.4k</span></li>
            <li><a href="#">Climate Policy & EPA Rules</a><span class="trend-count">9.8k</span></li>
            <li><a href="#">Criminal Justice Reform</a><span class="trend-count">8.2k</span></li>
            <li><a href="#">Healthcare Access Bills</a><span class="trend-count">7.1k</span></li>
            <li><a href="#">Voter ID Statutes</a><span class="trend-count">6.5k</span></li>
            <li><a href="#">Campaign Finance Limits</a><span class="trend-count">5.3k</span></li>
            <li><a href="#">Housing & Tenant Rights</a><span class="trend-count">4.7k</span></li>
          </ul>
        </div>
      </aside>
    </div>
  </div>
</section>

<!-- ADVOCACY WINS -->
<section id="advocacy" class="advocacy">
  <div class="container">
    <div class="section-head">
      <span class="section-eyebrow">✊ Impact Report</span>
      <h2>Recent Advocacy Wins</h2>
      <p>Real victories made possible by citizens like you who took action. From local ordinances to federal statutes, our coalition has helped pass landmark legislation protecting voting rights, expanding legal aid, and strengthening democratic institutions.</p>
    </div>
    <div class="wins-grid">
      <article class="win-card">
        <div class="win-img">
          <img src="https://picsum.photos/600/400?random=20" alt="Voters at polling station">
          <span class="win-badge">2024 Victory</span>
        </div>
        <div class="win-body">
          <h3>Same-Day Registration in 3 States</h3>
          <p>After a two-year campaign involving 47,000 petition signatures and testimony in seven state legislatures, same-day voter registration is now law in three additional states, expanding access for over 8 million eligible voters.</p>
          <div class="win-metric">
            <div class="win-metric-item"><span class="n">47k</span><span class="l">Signatures</span></div>
            <div class="win-metric-item"><span class="n">3</span><span class="l">States</span></div>
            <div class="win-metric-item"><span class="n">8M</span><span class="l">Voters</span></div>
          </div>
        </div>
      </article>

      <article class="win-card">
        <div class="win-img">
          <img src="https://picsum.photos/600/400?random=21" alt="Courtroom gavel">
          <span class="win-badge">Legal Victory</span>
        </div>
        <div class="win-body">
          <h3>Tenant Rights Protection Act</h3>
          <p>Our legal team helped draft and shepherd the Tenant Rights Protection Act through the state legislature, providing right-to-counsel in eviction proceedings and capping security deposits at one month's rent statewide.</p>
          <div class="win-metric">
            <div class="win-metric-item"><span class="n">$0</span><span class="l">Legal Fees</span></div>
            <div class="win-metric-item"><span class="n">124k</span><span class="l">Households</span></div>
            <div class="win-metric-item"><span class="n">38%</span><span class="l">Eviction Drop</span></div>
          </div>
        </div>
      </article>

      <article class="win-card">
        <div class="win-img">
          <img src="https://picsum.photos/600/400?random=22" alt="Community organizing meeting">
          <span class="win-badge">Coalition</span>
        </div>
        <div class="win-body">
          <h3>Campaign Finance Disclosure Reform</h3>
          <p>A multi-year organizing effort across 14 civic organizations led to the passage of real-time campaign finance disclosure requirements, requiring electronic filing within 24 hours for all contributions over $1,000.</p>
          <div class="win-metric">
            <div class="win-metric-item"><span class="n">14</span><span class="l">Partners</span></div>
            <div class="win-metric-item"><span class="n">24hr</span><span class="l">Disclosure</span></div>
            <div class="win-metric-item"><span class="n">$1k</span><span class="l">Threshold</span></div>
          </div>
        </div>
      </article>
    </div>
  </div>
</section>

<!-- TESTIMONIALS -->
<section class="testimonials">
  <div class="container">
    <div class="section-head">
      <span class="section-eyebrow">Voices From the Community</span>
      <h2>Trusted by Citizens Nationwide</h2>
      <p>Don't take our word for it — hear from the voters, attorneys, organizers, and community leaders who have partnered with Civic Compass to strengthen our democracy.</p>
    </div>
    <div class="testi-grid">
      <div class="testi-card">
        <div class="testi-quote">"</div>
        <p class="testi-text">When my landlord tried to illegally raise our rent, I didn't know where to turn. Civic Compass connected me with a pro bono attorney within 48 hours — and we won. They gave me the tools to fight back when I felt powerless.</p>
        <div class="testi-author">
          <img src="https://i.pravatar.cc/100?img=47" alt="Maria Santos" class="testi-avatar">
          <div>
            <span class="testi-name">Maria Santos</span>
            <span class="testi-role">Tenant Rights Client • Austin, TX</span>
          </div>
        </div>
      </div>

      <div class="testi-card">
        <div class="testi-quote">"</div>
        <p class="testi-text">As a first-generation voter, I was overwhelmed by the entire process. Civic Compass's voter guide broke down every ballot measure in plain language. I walked into my polling place confident and informed for the first time ever.</p>
        <div class="testi-author">
          <img src="https://i.pravatar.cc/100?img=33" alt="David Park" class="testi-avatar">
          <div>
            <span class="testi-name">David Park</span>
            <span class="testi-role">First-Time Voter • Boston, MA</span>
          </div>
        </div>
      </div>

      <div class="testi-card">
        <div class="testi-quote">"</div>
        <p class="testi-text">I've partnered with Civic Compass on three major legislative campaigns. Their policy team understands the legislative process inside and out — they know how a bill becomes a law and how to make that law actually work for citizens.</p>
        <div class="testi-author">
          <img src="https://i.pravatar.cc/100?img=12" alt="Attorney" class="testi-avatar">
          <div>
            <span class="testi-name">Hon. Patricia Whitfield</span>
            <span class="testi-role">Civil Rights Attorney • Atlanta, GA</span>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- FAQ -->
<section id="faq" class="faq">
  <div class="container">
    <div class="section-head">
      <span class="section-eyebrow">Common Questions</span>
      <h2>Frequently Asked Questions</h2>
      <p>Answers to the questions we hear most often from citizens engaging with our work. Can't find what you're looking for? Our help desk is staffed weekdays from 9 AM to 6 PM ET.</p>
    </div>
    <div class="faq-grid">
      <div class="faq-list">
        <details class="faq-item" open>
          <summary class="faq-q">How do I register to vote in my state?</summary>
          <div class="faq-a">Registration methods vary by state. Most states allow online registration through your state's Secretary of State website, in-person registration at your local DMV or election office, or by mail using the National Mail Voter Registration Form. Registration deadlines range from 15 to 30 days before an election. Use our Voter Registration Lookup tool above to find deadlines specific to your state.</div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">Is Civic Compass a nonpartisan organization?</summary>
          <div class="faq-a">Yes. As a 501(c)(3) organization, we are strictly nonpartisan and do not endorse candidates, political parties, or ballot measures. Our voter education materials provide factual information about candidates' positions and the text of ballot measures so citizens can make their own informed choices.</div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">Can I get free legal help through your programs?</summary>
          <div class="faq-a">We operate a statewide legal aid referral network connecting low-income citizens with pro bono attorneys in areas including housing, family law, employment, immigration, and consumer protection. Services are free for those who qualify. Call our legal helpline at (202) 555-0142 or submit a request online.</div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">How can I track a bill I'm interested in?</summary>
          <div class="faq-a">Our Legislative Tracker includes all active federal bills and most state legislation. You can search by keyword, bill number, sponsor, or policy area. Sign up for personalized bill alerts and we'll notify you by email or SMS whenever a bill you're following has a hearing, vote, or other action.</div>
        </details>
        <details class="faq-item">
          <summary class="faq-q">What does my donation support?</summary>
          <div class="faq-a">Every dollar directly funds our civic education programs, voter registration drives, legal aid clinics, and legislative monitoring work. We publish an annual transparency report detailing program expenditures. Civic Compass maintains a four-star Charity Navigator rating and is a Platinum-level GuideStar participant.</div>
        </details>
      </div>

      <aside class="faq-side">
        <h3>Need More Help?</h3>
        <p>Our trained civic advocates are available Monday through Friday to answer your questions about voting rights, legal aid, and civic engagement.</p>
        <ul>
          <li>Free voter registration assistance</li>
          <li>Legal aid referrals in 50 states</li>
          <li>Bill tracking and policy briefings</li>
          <li>Multilingual support (12 languages)</li>
          <li>Workshops for community groups</li>
        </ul>
        <a href="#contact" class="btn btn-gold">Contact Our Help Desk →</a>
      </aside>
    </div>
  </div>
</section>

<!-- NEWSLETTER CTA -->
<section class="newsletter">
  <div class="container">
    <div class="news-card">
      <h2>Get the Weekly Civic Brief</h2>
      <p>Join 145,000 subscribers receiving our nonpartisan weekly newsletter with bill updates, voting reminders, legal rights alerts, and opportunities to take action.</p>
      <form class="news-form" onsubmit="event.preventDefault(); alert('Thank you for subscribing! (Demo)')">
        <input type="email" placeholder="Enter your email address" required>
        <button type="submit" class="btn btn-gold">Subscribe →</button>
      </form>
    </div>
  </div>
</section>

<!-- FOOTER -->
<footer id="contact">
  <div class="container">
    <div class="footer-grid">
      <div class="footer-brand">
        <a href="#" class="brand">
          <div class="brand-logo">CC</div>
          <div class="brand-text">
            <span class="brand-name">Civic Compass</span>
            <span class="brand-tagline" style="color:#aab4c5">Law • Policy • Civic Engagement</span>
          </div>
        </a>
        <p>A 501(c)(3) nonpartisan organization dedicated to empowering citizens through legal education, voter engagement, and legislative transparency since 1981.</p>
        <div class="footer-social">
          <a href="#" aria-label="Facebook">f</a>
          <a href="#" aria-label="Twitter">𝕏</a>
          <a href="#" aria-label="Instagram">📷</a>
          <a href="#" aria-label="LinkedIn">in</a>
          <a href="#" aria-label="YouTube">▶</a>
        </div>
      </div>

      <div>
        <h4>Programs</h4>
        <ul>
          <li><a href="#">Voter Information</a></li>
          <li><a href="#">Legal Aid Network</a></li>
          <li><a href="#">Legislative Tracker</a></li>
          <li><a href="#">Civic Education</a></li>
          <li><a href="#">Advocacy Training</a></li>
        </ul>
      </div>

      <div>
        <h4>Get Involved</h4>
        <ul>
          <li><a href="#">Volunteer</a></li>
          <li><a href="#">Donate</a></li>
          <li><a href="#events">Events</a></li>
          <li><a href="#">Advocacy</a></li>
          <li><a href="#">Careers</a></li>
        </ul>
      </div>

      <div>
        <h4>Resources</h4>
        <ul>
          <li><a href="#">Voter Guides</a></li>
          <li><a href="#">Rights Cards</a></li>
          <li><a href="#">Policy Briefs</a></li>
          <li><a href="#">Annual Report</a></li>
          <li><a href="#">Press Room</a></li>
        </ul>
      </div>

      <div>
        <h4>Contact</h4>
        <div class="footer-contact-item">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg>
          <span>1401 Constitution Ave NW<br>Washington, DC 20230</span>
        </div>
        <div class="footer-contact-item">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>
          <span>(202) 555-0142</span>
        </div>
        <div class="footer-contact-item">
          <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg>
          <span>contact@civiccompass.org</span>
        </div>
      </div>
    </div>

    <div class="footer-bottom">
      <p>© 2024 Civic Compass Institute. A registered 501(c)(3) nonpartisan organization. EIN 52-1234567.</p>
      <div class="footer-legal">
        <a href="#">Privacy Policy</a>
        <a href="#">Terms of Use</a>
        <a href="#">Accessibility</a>
        <a href="#">Site Map</a>
      </div>
    </div>
  </div>
</footer>

<script>
  // Smooth nav highlighting on scroll
  document.querySelectorAll('a[href^="#"]').forEach(anchor => {
    anchor.addEventListener('click', function (e) {
      const target = document.querySelector(this.getAttribute('href'));
      if (target && this.getAttribute('href').length > 1) {
        e.preventDefault();
        target.scrollIntoView({behavior:'smooth', block:'start'});
      }
    });
  });

  // ZIP code input - numbers only
  const zipInput = document.getElementById('zip');
  if (zipInput) {
    zipInput.addEventListener('input', function(e) {
      this.value = this.value.replace(/[^0-9]/g, '').slice(0,5);
    });
  }
</script>

</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T09:41:57.427Z",
  "url": "https://benchmark.aimac.invalid/8d4394d5ef1bd6738f4ba6a755797677be680b0d01bb400e8ee6812160e5424a.html",
  "toolOptions": {
    "runOnly": {
      "type": "tag",
      "values": [
        "wcag2a",
        "wcag2aa",
        "wcag21a",
        "wcag21aa",
        "wcag22a",
        "wcag22aa"
      ]
    },
    "resultTypes": [
      "violations"
    ],
    "reporter": "v1"
  },
  "inapplicable": [
    {
      "id": "area-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <area> elements of image maps have alternative text",
      "help": "Active <area> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-braille-equivalent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
      "help": "aria-braille attributes must have a non-braille equivalent",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-command-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA button, link and menuitem has an accessible name",
      "help": "ARIA commands must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-deprecated-role",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements do not use deprecated roles",
      "help": "Deprecated ARIA roles must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-hidden-focus",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
      "help": "ARIA hidden element must not be focusable or contain focusable elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-input-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA input field has an accessible name",
      "help": "ARIA input fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-meter-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA meter node has an accessible name",
      "help": "ARIA meter nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-progressbar-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA progressbar node has an accessible name",
      "help": "ARIA progressbar nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements with ARIA roles have all required ARIA attributes",
      "help": "Required ARIA attributes must be provided",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-children",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require child roles contain them",
      "help": "Certain ARIA roles must contain particular children",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-parent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require parent roles are contained by them",
      "help": "Certain ARIA roles must be contained by particular parents",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-roles",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all elements with a role attribute use a valid value",
      "help": "ARIA roles used must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-toggle-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA toggle field has an accessible name",
      "help": "ARIA toggle fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-tooltip-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every ARIA tooltip node has an accessible name",
      "help": "ARIA tooltip nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "autocomplete-valid",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag21aa",
        "wcag135",
        "EN-301-549",
        "EN-9.1.3.5",
        "ACT"
      ],
      "description": "Ensure the autocomplete attribute is correct and suitable for the form field",
      "help": "autocomplete attribute must be used correctly",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
      "nodes": []
    },
    {
      "id": "blink",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag222",
        "section508",
        "section508.22.j",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <blink> elements are not used",
      "help": "<blink> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
      "nodes": []
    },
    {
      "id": "definition-list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dl> elements are structured correctly",
      "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
      "nodes": []
    },
    {
      "id": "dlitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dt> and <dd> elements are contained by a <dl>",
      "help": "<dt> and <dd> elements must be contained by a <dl>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-focusable-content",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
      "help": "Frames with focusable content must not have tabindex=-1",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title-unique",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
      "help": "Frames must have a unique title attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.i",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements have an accessible name",
      "help": "Frames must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
      "nodes": []
    },
    {
      "id": "html-xml-lang-mismatch",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
      "help": "HTML elements with lang and xml:lang must have the same base language",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure input buttons have discernible text",
      "help": "Input buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <input type=\"image\"> elements have alternative text",
      "help": "Image buttons must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "scrollable-region-focusable",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "wcag213",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1",
        "EN-9.2.1.3"
      ],
      "description": "Ensure elements that have scrollable content are accessible by keyboard",
      "help": "Scrollable region must have keyboard access",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "svg-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
      "help": "<svg> elements with an img role must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "td-headers-attr",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
      "help": "Table cells that use the headers attribute must only refer to cells in the same table",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "th-has-data-cells",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
      "help": "Table headers in a data table must refer to data cells",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
      "nodes": []
    },
    {
      "id": "valid-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2aa",
        "wcag312",
        "TTv5",
        "TT11.b",
        "EN-301-549",
        "EN-9.3.1.2",
        "ACT"
      ],
      "description": "Ensure lang attributes have valid values",
      "help": "lang attribute must have a valid value",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
      "nodes": []
    },
    {
      "id": "video-caption",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag122",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT17.a",
        "EN-301-549",
        "EN-9.1.2.2"
      ],
      "description": "Ensure <video> elements have captions",
      "help": "<video> elements must have captions",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
      "nodes": []
    },
    {
      "id": "no-autoplay-audio",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag142",
        "TTv5",
        "TT2.a",
        "EN-301-549",
        "EN-9.1.4.2",
        "ACT"
      ],
      "description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
      "help": "<video> or <audio> elements must not play automatically",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
      "nodes": []
    }
  ],
  "passes": [
    {
      "id": "aria-allowed-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure an element's role supports its ARIA attributes",
      "help": "Elements must only use supported ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-allowed-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attributes are used correctly for the defined role"
            }
          ],
          "none": [
            {
              "id": "aria-unsupported-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute is supported"
            }
          ],
          "impact": null,
          "html": "<a href=\"#\" aria-label=\"Facebook\">f</a>",
          "target": [
            ".topbar-social > a[aria-label=\"Facebook\"][href=\"#\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-conditional-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are used as described in the specification of the element's role",
      "help": "ARIA attributes must be used as specified for the element's role",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-conditional-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" aria-label=\"Facebook\">f</a>",
          "target": [
            ".topbar-social > a[aria-label=\"Facebook\"][href=\"#\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-body",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "wcag412",
        "EN-301-549",
        "EN-9.1.3.1",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden=\"true\" is not present on the document body.",
      "help": "aria-hidden=\"true\" must not be present on the document body",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-hidden-body",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "No aria-hidden attribute is present on document body"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<body>",
          "target": [
            "body"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<a href=\"#\" aria-label=\"Facebook\">f</a>",
          "target": [
            ".topbar-social > a[aria-label=\"Facebook\"][href=\"#\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr-value",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all ARIA attributes have valid values",
      "help": "ARIA attributes must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-valid-attr-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute values are valid"
            },
            {
              "id": "aria-errormessage",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
            },
            {
              "id": "aria-level",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-level values are valid"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" aria-label=\"Facebook\">f</a>",
          "target": [
            ".topbar-social > a[aria-label=\"Facebook\"][href=\"#\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" aria-label=\"Facebook\">f</a>",
          "target": [
            ".topbar-social > a[aria-label=\"Facebook\"][href=\"#\"]"
          ]
        }
      ]
    },
    {
      "id": "avoid-inline-spacing",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag21aa",
        "wcag1412",
        "EN-301-549",
        "EN-9.1.4.12",
        "ACT"
      ],
      "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
      "help": "Inline text spacing must be adjustable with custom stylesheets",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "important-letter-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Letter-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-word-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "word-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-line-height",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "line-height in the style attribute is not set to !important, or meets the minimum"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<p style=\"text-align:center;color:var(--muted);font-size:.82rem;margin:1rem 0 0\">\ud83d\udd12 This lookup is anonymous. We do not store, share, or sell any personal information entered.</p>",
          "target": [
            "p:nth-child(5)"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button type=\"submit\" class=\"btn btn-primary\">Check Status \u2192</button>",
          "target": [
            ".voter-form > button"
          ]
        }
      ]
    },
    {
      "id": "bypass",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag241",
        "section508",
        "section508.22.o",
        "TTv5",
        "TT9.a",
        "EN-301-549",
        "EN-9.2.4.1"
      ],
      "description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
      "help": "Page must have means to bypass repeated blocks",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "internal-link-present",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Valid skip link found"
            },
            {
              "id": "header-present",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<h1>Navigate Democracy with <em>Confidence &amp; Clarity</em></h1>",
                  "target": [
                    "h1"
                  ]
                },
                {
                  "html": "<h3>Find Your Polling Location</h3>",
                  "target": [
                    ".hero-card > h3"
                  ]
                },
                {
                  "html": "<h2>Four Pillars of Civic Empowerment</h2>",
                  "target": [
                    "#services > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Voter Information Hub</h3>",
                  "target": [
                    ".feature-card:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Know Your Legal Rights</h3>",
                  "target": [
                    ".feature-card:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>Legislative Tracking</h3>",
                  "target": [
                    ".feature-card:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h3>Civic Education</h3>",
                  "target": [
                    ".feature-card:nth-child(4) > h3"
                  ]
                },
                {
                  "html": "<h2>Check Your Voter Registration Status</h2>",
                  "target": [
                    "#voter > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Three steps to election readiness</h3>",
                  "target": [
                    ".voter-card > h3"
                  ]
                },
                {
                  "html": "<h4>Verify Eligibility</h4>",
                  "target": [
                    ".voter-step:nth-child(1) > h4"
                  ]
                },
                {
                  "html": "<h4>Review Your Ballot</h4>",
                  "target": [
                    ".voter-step:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Plan to Vote</h4>",
                  "target": [
                    ".voter-step:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h2>Active Legislation Tracker</h2>",
                  "target": [
                    "#legislative > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h4>H.R. 4824 \u2014 Voting Rights Advancement Act</h4>",
                  "target": [
                    ".bill:nth-child(1) > .bill-info > h4"
                  ]
                },
                {
                  "html": "<h4>S. 2193 \u2014 Campaign Finance Reform Act</h4>",
                  "target": [
                    ".bill:nth-child(2) > .bill-info > h4"
                  ]
                },
                {
                  "html": "<h4>H.R. 3451 \u2014 Public Financing of Elections</h4>",
                  "target": [
                    ".bill:nth-child(3) > .bill-info > h4"
                  ]
                },
                {
                  "html": "<h4>S. 1507 \u2014 Judicial Ethics &amp; Transparency Act</h4>",
                  "target": [
                    ".bill:nth-child(4) > .bill-info > h4"
                  ]
                },
                {
                  "html": "<h4>H.R. 5610 \u2014 Whistleblower Protection Expansion</h4>",
                  "target": [
                    ".bill:nth-child(5) > .bill-info > h4"
                  ]
                },
                {
                  "html": "<h3>\ud83d\udcc5 Election Calendar</h3>",
                  "target": [
                    ".sidebar:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h5>Voter Registration Deadline</h5>",
                  "target": [
                    ".cal-item:nth-child(2) > .cal-info > h5"
                  ]
                },
                {
                  "html": "<h5>Early Voting Begins</h5>",
                  "target": [
                    ".cal-item:nth-child(3) > .cal-info > h5"
                  ]
                },
                {
                  "html": "<h5>General Election Day</h5>",
                  "target": [
                    ".cal-item:nth-child(4) > .cal-info > h5"
                  ]
                },
                {
                  "html": "<h5>Electoral College Vote</h5>",
                  "target": [
                    ".cal-item:nth-child(5) > .cal-info > h5"
                  ]
                },
                {
                  "html": "<h3>\ud83d\udd25 Trending Issues</h3>",
                  "target": [
                    ".sidebar:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h2>Recent Advocacy Wins</h2>",
                  "target": [
                    "#advocacy > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Same-Day Registration in 3 States</h3>",
                  "target": [
                    "article:nth-child(1) > .win-body > h3"
                  ]
                },
                {
                  "html": "<h3>Tenant Rights Protection Act</h3>",
                  "target": [
                    "article:nth-child(2) > .win-body > h3"
                  ]
                },
                {
                  "html": "<h3>Campaign Finance Disclosure Reform</h3>",
                  "target": [
                    "article:nth-child(3) > .win-body > h3"
                  ]
                },
                {
                  "html": "<h2>Trusted by Citizens Nationwide</h2>",
                  "target": [
                    ".testimonials > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h2>Frequently Asked Questions</h2>",
                  "target": [
                    "#faq > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Need More Help?</h3>",
                  "target": [
                    ".faq-side > h3"
                  ]
                },
                {
                  "html": "<h2>Get the Weekly Civic Brief</h2>",
                  "target": [
                    ".news-card > h2"
                  ]
                },
                {
                  "html": "<h4>Programs</h4>",
                  "target": [
                    ".footer-grid > div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Get Involved</h4>",
                  "target": [
                    ".footer-grid > div:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Resources</h4>",
                  "target": [
                    "div:nth-child(4) > h4"
                  ]
                },
                {
                  "html": "<h4>Contact</h4>",
                  "target": [
                    "div:nth-child(5) > h4"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#cfd6e3",
                "bgColor": "#0a1a33",
                "contrastRatio": 11.9,
                "fontSize": "10.2pt (13.6px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 11.9"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<span>\ud83d\udccd 1401 Constitution Ave NW, Washington, DC 20230</span>",
          "target": [
            ".topbar-left > span:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "document-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag242",
        "TTv5",
        "TT12.a",
        "EN-301-549",
        "EN-9.2.4.2",
        "ACT"
      ],
      "description": "Ensure each HTML document contains a non-empty <title> element",
      "help": "Documents must have <title> element to aid in navigation",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "doc-has-title",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Document has a non-empty <title> element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "duplicate-id-aria",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every id attribute value used in ARIA and in labels is unique",
      "help": "IDs used in ARIA and labels must be unique",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "duplicate-id-aria",
              "data": "state",
              "relatedNodes": [],
              "impact": "critical",
              "message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<select id=\"state\">",
          "target": [
            "#state"
          ]
        }
      ]
    },
    {
      "id": "form-field-multiple-labels",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag332",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.3.3.2"
      ],
      "description": "Ensure form field does not have multiple label elements",
      "help": "Form field must not have multiple label elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "multiple-label",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<label for=\"state\">Your State</label>",
                  "target": [
                    "label[for=\"state\"]"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<select id=\"state\">",
          "target": [
            "#state"
          ]
        }
      ]
    },
    {
      "id": "html-has-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure every HTML document has a lang attribute",
      "help": "<html> element must have a lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "The <html> element has a lang attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "html-lang-valid",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure the lang attribute of the <html> element has a valid value",
      "help": "<html> element must have a valid value for the lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "valid-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Value of lang attribute is included in the list of valid languages"
            }
          ],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "TT7.b",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <img> elements have alternative text or a role of none or presentation",
      "help": "Images must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-alt",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has an alt attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "alt-space-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a valid alt attribute value"
            }
          ],
          "impact": null,
          "html": "<img src=\"https://picsum.photos/600/400?random=20\" alt=\"Voters at polling station\">",
          "target": [
            "img[alt=\"Voters at polling station\"]"
          ]
        }
      ]
    },
    {
      "id": "label",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every form element has a label",
      "help": "Form elements must have labels",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": {
                "explicitLabel": "ZIP Code"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"zip\">ZIP Code</label>",
                  "target": [
                    "label[for=\"zip\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            },
            {
              "id": "non-empty-placeholder",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a placeholder attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<input type=\"text\" id=\"zip\" placeholder=\"e.g. 20001\" maxlength=\"5\">",
          "target": [
            "#zip"
          ]
        }
      ]
    },
    {
      "id": "link-in-text-block",
      "impact": null,
      "tags": [
        "cat.color",
        "wcag2a",
        "wcag141",
        "TTv5",
        "TT13.a",
        "EN-301-549",
        "EN-9.1.4.1"
      ],
      "description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
      "help": "Links must be distinguishable without relying on color",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "link-in-text-block-style",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<div class=\"hero-card\">",
                  "target": [
                    ".hero-card"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Links can be distinguished from surrounding text by visual styling"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" class=\"btn btn-primary\">Find My Polling Place \u2192</a>",
          "target": [
            ".hero-card > .btn-primary.btn[href=\"#\"]"
          ]
        }
      ]
    },
    {
      "id": "link-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure links have discernible text",
      "help": "Links must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "focusable-no-name",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element is not in tab order or has accessible text"
            }
          ],
          "impact": null,
          "html": "<a href=\"#\">Member Sign In</a>",
          "target": [
            ".topbar-right > a[href=\"#\"]:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that lists are structured correctly",
      "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "only-listitems",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List element only has direct children that are allowed inside <li> elements"
            }
          ],
          "impact": null,
          "html": "<ul class=\"trending-list\">",
          "target": [
            ".trending-list"
          ]
        }
      ]
    },
    {
      "id": "listitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <li> elements are used semantically",
      "help": "<li> elements must be contained in a <ul> or <ol>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "listitem",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List item has a <ul>, <ol> or role=\"list\" parent element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<li><a href=\"#\">Reproductive Rights Legislation</a><span class=\"trend-count\">12.4k</span></li>",
          "target": [
            ".trending-list > li:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
          "target": [
            "meta[name=\"viewport\"]"
          ]
        }
      ]
    },
    {
      "id": "nested-interactive",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
      "help": "Interactive controls must not be nested",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "no-focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element does not have focusable descendants"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<option>Select your state...</option>",
          "target": [
            "#state > option:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "select-name",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure select element has an accessible name",
      "help": "Select element must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": {
                "explicitLabel": "Your State"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"state\">Your State</label>",
                  "target": [
                    "label[for=\"state\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<select id=\"state\">",
          "target": [
            "#state"
          ]
        }
      ]
    },
    {
      "id": "summary-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure summary elements have discernible text",
      "help": "Summary elements must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<summary class=\"faq-q\">How do I register to vote in my state?</summary>",
          "target": [
            "details[open=\"\"] > summary"
          ]
        }
      ]
    },
    {
      "id": "target-size",
      "impact": "serious",
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag22aa",
        "wcag258"
      ],
      "description": "Ensure touch targets have sufficient size and space",
      "help": "All touch targets must be 24px large, or leave sufficient space",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\">Member Sign In</a>",
          "target": [
            ".topbar-right > a[href=\"#\"]:nth-child(1)"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": null,
                "bgColor": null,
                "contrastRatio": 0,
                "fontSize": "19.2pt (25.6px)",
                "fontWeight": "bold",
                "messageKey": "bgGradient",
                "expectedContrastRatio": "3:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"brand-logo\">CC</div>",
                  "target": [
                    ".header-inner > .brand[href=\"#\"] > .brand-logo"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element's background color could not be determined due to a background gradient"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"brand-logo\">CC</div>",
          "target": [
            ".header-inner > .brand[href=\"#\"] > .brand-logo"
          ],
          "failureSummary": "Fix any of the following:\n  Element's background color could not be determined due to a background gradient"
        }
      ]
    }
  ],
  "violations": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#a8a89c",
                "bgColor": "#ffffff",
                "contrastRatio": 2.4,
                "fontSize": "13.8pt (18.4px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"trustbar\">",
                  "target": [
                    ".trustbar"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>American Bar Association</span>",
          "target": [
            ".trustbar-logos > span:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#a8a89c",
                "bgColor": "#ffffff",
                "contrastRatio": 2.4,
                "fontSize": "13.8pt (18.4px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"trustbar\">",
                  "target": [
                    ".trustbar"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>League of Women Voters</span>",
          "target": [
            ".trustbar-logos > span:nth-child(2)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#a8a89c",
                "bgColor": "#ffffff",
                "contrastRatio": 2.4,
                "fontSize": "13.8pt (18.4px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"trustbar\">",
                  "target": [
                    ".trustbar"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>Brennan Center</span>",
          "target": [
            ".trustbar-logos > span:nth-child(3)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#a8a89c",
                "bgColor": "#ffffff",
                "contrastRatio": 2.4,
                "fontSize": "13.8pt (18.4px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"trustbar\">",
                  "target": [
                    ".trustbar"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>NAACP Legal Defense</span>",
          "target": [
            ".trustbar-logos > span:nth-child(4)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#a8a89c",
                "bgColor": "#ffffff",
                "contrastRatio": 2.4,
                "fontSize": "13.8pt (18.4px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"trustbar\">",
                  "target": [
                    ".trustbar"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>Public Citizen</span>",
          "target": [
            "span:nth-child(5)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.4 (foreground color: #a8a89c, background color: #ffffff, font size: 13.8pt (18.4px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#0f2444",
                "bgColor": "#0a1a33",
                "contrastRatio": 1.12,
                "fontSize": "11.0pt (14.72px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer id=\"contact\">",
                  "target": [
                    "#contact"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 1.12 (foreground color: #0f2444, background color: #0a1a33, font size: 11.0pt (14.72px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<h4>Programs</h4>",
          "target": [
            ".footer-grid > div:nth-child(2) > h4"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 1.12 (foreground color: #0f2444, background color: #0a1a33, font size: 11.0pt (14.72px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#0f2444",
                "bgColor": "#0a1a33",
                "contrastRatio": 1.12,
                "fontSize": "11.0pt (14.72px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer id=\"contact\">",
                  "target": [
                    "#contact"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 1.12 (foreground color: #0f2444, background color: #0a1a33, font size: 11.0pt (14.72px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<h4>Get Involved</h4>",
          "target": [
            ".footer-grid > div:nth-child(3) > h4"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 1.12 (foreground color: #0f2444, background color: #0a1a33, font size: 11.0pt (14.72px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#0f2444",
                "bgColor": "#0a1a33",
                "contrastRatio": 1.12,
                "fontSize": "11.0pt (14.72px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer id=\"contact\">",
                  "target": [
                    "#contact"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 1.12 (foreground color: #0f2444, background color: #0a1a33, font size: 11.0pt (14.72px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<h4>Resources</h4>",
          "target": [
            "div:nth-child(4) > h4"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 1.12 (foreground color: #0f2444, background color: #0a1a33, font size: 11.0pt (14.72px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#0f2444",
                "bgColor": "#0a1a33",
                "contrastRatio": 1.12,
                "fontSize": "11.0pt (14.72px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer id=\"contact\">",
                  "target": [
                    "#contact"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 1.12 (foreground color: #0f2444, background color: #0a1a33, font size: 11.0pt (14.72px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<h4>Contact</h4>",
          "target": [
            "div:nth-child(5) > h4"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 1.12 (foreground color: #0f2444, background color: #0a1a33, font size: 11.0pt (14.72px), font weight: bold). Expected contrast ratio of 4.5:1"
        }
      ]
    },
    {
      "id": "target-size",
      "impact": "serious",
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag22aa",
        "wcag258"
      ],
      "description": "Ensure touch targets have sufficient size and space",
      "help": "All touch targets must be 24px large, or leave sufficient space",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 108.4,
                "height": 21
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (108.4px by 21px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 23.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\">Legal Aid Network</a>",
                  "target": [
                    ".footer-grid > div:nth-child(2) > ul > li:nth-child(2) > a[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#\">Voter Information</a>",
          "target": [
            ".footer-grid > div:nth-child(2) > ul > li:nth-child(1) > a[href=\"#\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (108.4px by 21px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 110.7,
                "height": 21
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (110.7px by 21px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 23.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\">Voter Information</a>",
                  "target": [
                    ".footer-grid > div:nth-child(2) > ul > li:nth-child(1) > a[href=\"#\"]"
                  ]
                },
                {
                  "html": "<a href=\"#\">Legislative Tracker</a>",
                  "target": [
                    ".footer-grid > div:nth-child(2) > ul > li:nth-child(3) > a[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#\">Legal Aid Network</a>",
          "target": [
            ".footer-grid > div:nth-child(2) > ul > li:nth-child(2) > a[href=\"#\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (110.7px by 21px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 113.5,
                "height": 21
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (113.5px by 21px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 23.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\">Legal Aid Network</a>",
                  "target": [
                    ".footer-grid > div:nth-child(2) > ul > li:nth-child(2) > a[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#\">Legislative Tracker</a>",
          "target": [
            ".footer-grid > div:nth-child(2) > ul > li:nth-child(3) > a[href=\"#\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (113.5px by 21px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 44.4,
                "height": 21
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (44.4px by 21px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 23.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#events\">Events</a>",
                  "target": [
                    "li:nth-child(3) > a[href$=\"#events\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#\">Donate</a>",
          "target": [
            "div:nth-child(3) > ul > li:nth-child(2) > a[href=\"#\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (44.4px by 21px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 40.8,
                "height": 21
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (40.8px by 21px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 23.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\">Donate</a>",
                  "target": [
                    "div:nth-child(3) > ul > li:nth-child(2) > a[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#events\">Events</a>",
          "target": [
            "li:nth-child(3) > a[href$=\"#events\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (40.8px by 21px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 77.6,
                "height": 21
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (77.6px by 21px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 23.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\">Rights Cards</a>",
                  "target": [
                    "div:nth-child(4) > ul > li:nth-child(2) > a[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#\">Voter Guides</a>",
          "target": [
            "div:nth-child(4) > ul > li:nth-child(1) > a[href=\"#\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (77.6px by 21px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 76.5,
                "height": 21
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (76.5px by 21px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 23.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\">Voter Guides</a>",
                  "target": [
                    "div:nth-child(4) > ul > li:nth-child(1) > a[href=\"#\"]"
                  ]
                },
                {
                  "html": "<a href=\"#\">Policy Briefs</a>",
                  "target": [
                    "div:nth-child(4) > ul > li:nth-child(3) > a[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#\">Rights Cards</a>",
          "target": [
            "div:nth-child(4) > ul > li:nth-child(2) > a[href=\"#\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (76.5px by 21px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 75,
                "height": 21
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (75px by 21px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 23.2,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\">Rights Cards</a>",
                  "target": [
                    "div:nth-child(4) > ul > li:nth-child(2) > a[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#\">Policy Briefs</a>",
          "target": [
            "div:nth-child(4) > ul > li:nth-child(3) > a[href=\"#\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (75px by 21px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 23.2px instead of at least 24px."
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 7555
      },
      {
        "y": 576,
        "height": 7555
      },
      {
        "y": 1152,
        "height": 7555
      },
      {
        "y": 1728,
        "height": 7555
      },
      {
        "y": 2304,
        "height": 7555
      },
      {
        "y": 2880,
        "height": 7555
      },
      {
        "y": 3456,
        "height": 7555
      },
      {
        "y": 4032,
        "height": 7555
      },
      {
        "y": 4608,
        "height": 7555
      },
      {
        "y": 5184,
        "height": 7555
      },
      {
        "y": 5760,
        "height": 7555
      },
      {
        "y": 6336,
        "height": 7555
      },
      {
        "y": 6835,
        "height": 7555
      }
    ],
    "scans": 14,
    "max_states": 512,
    "settle_ms": 5000,
    "page_timeout_seconds": 150,
    "layout_stability": "consecutive 100ms size samples within one CSS pixel",
    "animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
    "interactive_states": "not exercised",
    "horizontal_scroll": "not exercised"
  }
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Law, Government, & Politics" sector.
Your goal is to generate the full HTML code for a page that is not just functional but also visually compelling, content-rich, and feels like a finished product ready for launch.

**Client & Category:**
- Industry: "Law, Government, & Politics"
- Description: Legal information, political organizations, government affairs, and civic engagement resources.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Law, Government, & Politics" category.
2.  **Define Page:** Determine the most effective primary page type (e.g., homepage, service landing page, category portal) to showcase this fictional entity.
3.  **Design:** Develop an opinionated, modern, and professional layout. Make distinct choices about structure and flow.

**Content & Structure Requirements (Deliver a COMPLETE page):**
-   **Overall:** The final page must feel substantial and complete, with realistic amounts of text (multiple paragraphs per section where appropriate, avoid single sentences), well-integrated placeholder images, and logical flow. It should look like a real website a business would proudly use.
-   **HEADER:** Include the invented site name, tagline, a logo placeholder image, and a primary navigation bar. Ensure the navigation has **at least 5-7 clearly defined, relevant links** including: "Contact", "Events", "Advocacy".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Law, Government, & Politics" category. Consider themes similar to: "Voter Information", "Legislative Updates", "Legal Rights".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "ballot measure", "statute", "legislative process".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Register to Vote", "Donate", "Get Legal Aid".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Law, Government, & Politics" sector. Ideas similar but not limited to: "voter registration check".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "advocacy wins", "trending issues", "election calendar".
-   **FOOTER:** Include a professional footer with invented contact details, copyright (current year), social media links, and standard links (Privacy, Terms).
-   **MODERN WEB PATTERNS:** Include modern web patterns like testimonial cards, feature grids, or FAQ accordions where appropriate.