<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Cape Coral Flagpole – Florida's Tallest | Was It Worth $450K?</title>
  <meta name="description" content="Cape Coral is raising a 250-foot flagpole — the tallest in Florida — at a cost of $420,000+. Vote in our poll: was this the best use of taxpayer money?" />
  <meta name="keywords" content="Cape Coral flagpole, Florida tallest flagpole, Cape Coral 250 foot flagpole, Cape Coral flagpole cost, Bernice Braden Park flagpole, Cape Coral tax money" />
  <link rel="canonical" href="https://capecoralflagpole.com/" />

  <!-- Open Graph -->
  <meta property="og:title" content="Cape Coral's $450K Flagpole — Was It Worth It?" />
  <meta property="og:description" content="Florida's tallest flagpole is going up July 4th in Cape Coral. $420,000+, $16K/year maintenance, $50K per flag. Vote now: smart investment or wasted tax money?" />
  <meta property="og:image" content="https://capecoralflagpole.com/og-image.jpg" />
  <meta property="og:url" content="https://capecoralflagpole.com/" />
  <meta property="og:type" content="website" />
  <meta property="og:site_name" content="CapeCoralFlagpole.com" />

  <!-- Twitter Card -->
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:title" content="Cape Coral's $450K Flagpole — Was It Worth It?" />
  <meta name="twitter:description" content="Florida's tallest flagpole goes up July 4th. 250 feet, $420K+. Smart investment or taxpayer waste? Vote now." />

  <!-- Schema.org -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "WebPage",
    "name": "Cape Coral Flagpole – Florida's Tallest",
    "description": "Community poll and information hub for Cape Coral's 250-foot flagpole at Bernice Braden Park",
    "url": "https://capecoralflagpole.com",
    "about": {
      "@type": "Thing",
      "name": "Cape Coral 250-Foot Flagpole",
      "description": "A 250-foot flagpole being constructed in Cape Coral, FL at Bernice Braden Park, set to become Florida's tallest flagpole."
    }
  }
  </script>

  <style>
    :root {
      --red: #B22234;
      --blue: #3C3B6E;
      --gold: #F5C518;
      --light: #f8f8f8;
      --dark: #111827;
      --muted: #6b7280;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      background: #fff;
      color: var(--dark);
      line-height: 1.6;
    }

    /* ── HERO ── */
    .hero {
      background: linear-gradient(135deg, var(--blue) 0%, #1a1a5e 100%);
      color: white;
      text-align: center;
      padding: 60px 20px 50px;
      position: relative;
      overflow: hidden;
    }
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 12px,
        rgba(255,255,255,0.03) 12px,
        rgba(255,255,255,0.03) 24px
      );
    }
    .hero-flag {
      font-size: 72px;
      display: block;
      margin-bottom: 16px;
      animation: wave 2s ease-in-out infinite;
    }
    @keyframes wave {
      0%, 100% { transform: rotate(-3deg); }
      50% { transform: rotate(3deg); }
    }
    .hero-eyebrow {
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 12px;
    }
    .hero h1 {
      font-size: clamp(26px, 5vw, 52px);
      font-weight: 900;
      line-height: 1.1;
      max-width: 800px;
      margin: 0 auto 16px;
    }
    .hero h1 span { color: var(--gold); }
    .hero-sub {
      font-size: 18px;
      color: rgba(255,255,255,0.8);
      max-width: 600px;
      margin: 0 auto 28px;
    }
    .hero-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      margin-top: 20px;
    }
    .badge {
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.2);
      padding: 6px 14px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: 600;
    }
    .badge.hot { background: var(--red); border-color: var(--red); }

    /* ── SECTION ── */
    .section {
      padding: 60px 20px;
      max-width: 900px;
      margin: 0 auto;
    }
    .section-title {
      font-size: 28px;
      font-weight: 800;
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .section-sub {
      color: var(--muted);
      margin-bottom: 32px;
      font-size: 16px;
    }

    /* ── POLL ── */
    .poll-section {
      background: linear-gradient(135deg, #f0f4ff 0%, #fff5f5 100%);
      border-top: 4px solid var(--red);
    }
    .poll-container {
      max-width: 680px;
      margin: 0 auto;
      text-align: center;
    }
    .poll-question {
      font-size: clamp(20px, 4vw, 30px);
      font-weight: 800;
      margin-bottom: 8px;
    }
    .poll-sub {
      color: var(--muted);
      margin-bottom: 32px;
      font-size: 15px;
    }
    .poll-options {
      display: grid;
      gap: 14px;
      margin-bottom: 30px;
    }
    .poll-btn {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 18px 24px;
      border: 2px solid #e5e7eb;
      border-radius: 12px;
      background: white;
      cursor: pointer;
      font-size: 16px;
      font-weight: 600;
      text-align: left;
      transition: all 0.2s;
      width: 100%;
    }
    .poll-btn:hover { border-color: var(--blue); background: #f8f9ff; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
    .poll-btn.selected { border-color: var(--blue); background: #eef2ff; }
    .poll-btn.yes:hover, .poll-btn.yes.selected { border-color: #16a34a; background: #f0fdf4; }
    .poll-btn.no:hover, .poll-btn.no.selected { border-color: var(--red); background: #fff5f5; }
    .poll-btn.mixed:hover, .poll-btn.mixed.selected { border-color: #d97706; background: #fffbeb; }
    .poll-icon { font-size: 28px; flex-shrink: 0; }
    .poll-label { flex: 1; }
    .poll-label-main { display: block; font-size: 15px; }
    .poll-label-sub { font-size: 12px; font-weight: 400; color: var(--muted); }
    .poll-bar-wrap { display: none; flex-direction: column; gap: 10px; margin-top: 20px; }
    .poll-result-row { display: flex; align-items: center; gap: 10px; }
    .poll-result-label { font-size: 13px; font-weight: 600; width: 80px; text-align: right; flex-shrink: 0; }
    .poll-bar-bg { flex: 1; background: #e5e7eb; border-radius: 99px; height: 20px; overflow: hidden; }
    .poll-bar-fill { height: 100%; border-radius: 99px; transition: width 0.8s ease; }
    .bar-yes { background: #16a34a; }
    .bar-no { background: var(--red); }
    .bar-mixed { background: #d97706; }
    .poll-result-pct { font-size: 13px; font-weight: 700; width: 40px; }
    .poll-total { color: var(--muted); font-size: 13px; margin-top: 12px; }
    .poll-voted-msg { font-size: 15px; font-weight: 600; color: var(--blue); margin-top: 12px; }
    .submit-btn {
      background: var(--blue);
      color: white;
      border: none;
      border-radius: 10px;
      padding: 14px 36px;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      transition: background 0.2s;
      display: none;
    }
    .submit-btn:hover { background: #2d2b5e; }
    .submit-btn.visible { display: inline-block; }

    /* ── NUMBERS ── */
    .numbers-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 20px;
      margin-top: 30px;
    }
    .number-card {
      background: white;
      border: 1px solid #e5e7eb;
      border-radius: 14px;
      padding: 24px 20px;
      text-align: center;
      box-shadow: 0 2px 8px rgba(0,0,0,0.05);
      transition: transform 0.2s;
    }
    .number-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,0.1); }
    .number-card.red { border-top: 4px solid var(--red); }
    .number-card.blue { border-top: 4px solid var(--blue); }
    .number-card.gold { border-top: 4px solid var(--gold); }
    .number-value {
      font-size: 34px;
      font-weight: 900;
      color: var(--dark);
      line-height: 1;
      margin-bottom: 6px;
    }
    .number-value.red { color: var(--red); }
    .number-value.blue { color: var(--blue); }
    .number-label {
      font-size: 13px;
      color: var(--muted);
      font-weight: 500;
    }

    /* ── COMPARISON ── */
    .compare-section { background: #f9fafb; }
    .compare-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 16px;
      margin-top: 24px;
    }
    .compare-card {
      background: white;
      border-radius: 12px;
      padding: 20px;
      border: 1px solid #e5e7eb;
      display: flex;
      align-items: flex-start;
      gap: 14px;
    }
    .compare-icon { font-size: 30px; flex-shrink: 0; }
    .compare-text strong { display: block; font-size: 15px; font-weight: 700; }
    .compare-text span { font-size: 13px; color: var(--muted); }

    /* ── TIMELINE ── */
    .timeline {
      margin-top: 30px;
      position: relative;
    }
    .timeline::before {
      content: '';
      position: absolute;
      left: 19px;
      top: 0;
      bottom: 0;
      width: 2px;
      background: #e5e7eb;
    }
    .timeline-item {
      display: flex;
      gap: 20px;
      margin-bottom: 28px;
      position: relative;
    }
    .timeline-dot {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      flex-shrink: 0;
      position: relative;
      z-index: 1;
    }
    .timeline-dot.blue { background: #dbeafe; }
    .timeline-dot.red { background: #fee2e2; }
    .timeline-dot.green { background: #dcfce7; }
    .timeline-dot.gold { background: #fef9c3; }
    .timeline-content {
      padding-top: 6px;
    }
    .timeline-date { font-size: 12px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
    .timeline-title { font-size: 16px; font-weight: 700; margin: 2px 0 4px; }
    .timeline-desc { font-size: 14px; color: var(--muted); }

    /* ── NEWS ── */
    .news-list {
      display: grid;
      gap: 16px;
      margin-top: 24px;
    }
    .news-item {
      background: white;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      padding: 18px 20px;
      display: flex;
      gap: 16px;
      align-items: flex-start;
      transition: box-shadow 0.2s;
    }
    .news-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
    .news-icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
    .news-title { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
    .news-title a { color: var(--dark); text-decoration: none; }
    .news-title a:hover { color: var(--blue); text-decoration: underline; }
    .news-meta { font-size: 12px; color: var(--muted); }

    /* ── SHARE ── */
    .share-section {
      background: var(--blue);
      color: white;
      text-align: center;
    }
    .share-section .section-title { color: white; justify-content: center; }
    .share-section .section-sub { color: rgba(255,255,255,0.7); }
    .share-buttons {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: center;
      margin-top: 24px;
    }
    .share-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 22px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.2s;
      cursor: pointer;
      border: none;
    }
    .share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
    .share-fb { background: #1877f2; color: white; }
    .share-tw { background: #000; color: white; }
    .share-wa { background: #25d366; color: white; }
    .share-copy { background: rgba(255,255,255,0.15); color: white; border: 1px solid rgba(255,255,255,0.3); }

    /* ── FOOTER ── */
    footer {
      background: var(--dark);
      color: rgba(255,255,255,0.6);
      text-align: center;
      padding: 30px 20px;
      font-size: 13px;
    }
    footer a { color: rgba(255,255,255,0.8); text-decoration: underline; }
    .disclaimer {
      background: #fffbeb;
      border: 1px solid #fde68a;
      border-radius: 10px;
      padding: 14px 18px;
      font-size: 13px;
      color: #92400e;
      max-width: 800px;
      margin: 0 auto 40px;
    }

    /* ── UTILITY ── */
    .divider { height: 1px; background: #e5e7eb; margin: 0; }
    .text-center { text-align: center; }
    @media (max-width: 600px) {
      .hero { padding: 40px 16px 36px; }
      .section { padding: 40px 16px; }
    }
  </style>
</head>
<body>

<!-- ══════════════════════ HERO ══════════════════════ -->
<section class="hero">
  <span class="hero-flag">🚩</span>
  <p class="hero-eyebrow">Cape Coral, Florida · July 4, 2026</p>
  <h1>Florida's <span>Tallest Flagpole</span> Is Going Up.<br>Was It Worth <span>$450,000</span>?</h1>
  <p class="hero-sub">Cape Coral is raising a 250-foot flagpole at Bernice Braden Park — the tallest in Florida. Construction is happening right now. The flag goes up July 4th. What do <em>you</em> think?</p>
  <div class="hero-badges">
    <span class="badge hot">🔴 LIVE: Flag raises July 4th at 2pm</span>
    <span class="badge">📍 Bernice Braden Park, Cape Coral</span>
    <span class="badge">250 feet tall</span>
    <span class="badge">$420,000+ price tag</span>
  </div>
</section>

<!-- ══════════════════════ POLL ══════════════════════ -->
<section class="poll-section" style="padding: 60px 20px;">
  <div class="poll-container">
    <h2 class="poll-question">🗳️ The Flag Poll</h2>
    <p class="poll-sub">Was Cape Coral right to spend $420,000+ of taxpayer money on this flagpole?</p>

    <div class="poll-options" id="pollOptions">
      <button class="poll-btn yes" onclick="castVote('yes')" id="btn-yes">
        <span class="poll-icon">🇺🇸</span>
        <span class="poll-label">
          <span class="poll-label-main">Yes — It's worth every penny!</span>
          <span class="poll-label-sub">A symbol of American pride for Cape Coral's 250th celebration</span>
        </span>
      </button>
      <button class="poll-btn no" onclick="castVote('no')" id="btn-no">
        <span class="poll-icon">💸</span>
        <span class="poll-label">
          <span class="poll-label-main">No — Total waste of money</span>
          <span class="poll-label-sub">Our city has roads, parks, and real needs that could use this funding</span>
        </span>
      </button>
      <button class="poll-btn mixed" onclick="castVote('mixed')" id="btn-mixed">
        <span class="poll-icon">🤷</span>
        <span class="poll-label">
          <span class="poll-label-main">Mixed — Glad for the donations, but...</span>
          <span class="poll-label-sub">The private fundraising helped, but ongoing taxpayer costs are a concern</span>
        </span>
      </button>
    </div>

    <div class="poll-bar-wrap" id="pollResults">
      <div class="poll-result-row">
        <span class="poll-result-label">Yes 🇺🇸</span>
        <div class="poll-bar-bg"><div class="poll-bar-fill bar-yes" id="bar-yes" style="width:0%"></div></div>
        <span class="poll-result-pct" id="pct-yes">0%</span>
      </div>
      <div class="poll-result-row">
        <span class="poll-result-label">No 💸</span>
        <div class="poll-bar-bg"><div class="poll-bar-fill bar-no" id="bar-no" style="width:0%"></div></div>
        <span class="poll-result-pct" id="pct-no">0%</span>
      </div>
      <div class="poll-result-row">
        <span class="poll-result-label">Mixed 🤷</span>
        <div class="poll-bar-bg"><div class="poll-bar-fill bar-mixed" id="bar-mixed" style="width:0%"></div></div>
        <span class="poll-result-pct" id="pct-mixed">0%</span>
      </div>
      <p class="poll-total" id="pollTotal"></p>
      <p class="poll-voted-msg" id="pollVotedMsg"></p>
    </div>
  </div>
</section>

<div class="divider"></div>

<!-- ══════════════════════ THE NUMBERS ══════════════════════ -->
<section class="section">
  <h2 class="section-title">💰 The Numbers</h2>
  <p class="section-sub">Here's what Cape Coral's 250-foot flagpole actually costs — construction and beyond.</p>

  <div class="numbers-grid">
    <div class="number-card red">
      <div class="number-value red">$420K+</div>
      <div class="number-label">Total construction cost</div>
    </div>
    <div class="number-card blue">
      <div class="number-value blue">$330K</div>
      <div class="number-label">Raised via donations</div>
    </div>
    <div class="number-card red">
      <div class="number-value red">~$90K</div>
      <div class="number-label">Taxpayer gap (est.)</div>
    </div>
    <div class="number-card gold">
      <div class="number-value" style="color:#d97706">$16K/yr</div>
      <div class="number-label">Annual maintenance (taxpayer-funded)</div>
    </div>
    <div class="number-card red">
      <div class="number-value red">$50K</div>
      <div class="number-label">Each flag (they tear fast at that size)</div>
    </div>
    <div class="number-card blue">
      <div class="number-value blue">250 ft</div>
      <div class="number-label">Height — tallest in Florida</div>
    </div>
  </div>

  <div class="disclaimer" style="margin-top:28px; margin-bottom:0">
    ℹ️ <strong>Sources:</strong> Cape Coral Breeze (March 2026), Gulf Coast News (June 2026), City of Cape Coral public fundraising page. Construction cost varies by source between $420K–$450K.
  </div>
</section>

<div class="divider"></div>

<!-- ══════════════════════ WHAT ELSE ══════════════════════ -->
<section class="section compare-section" style="max-width:100%; padding: 60px 20px;">
  <div style="max-width:900px; margin:0 auto;">
    <h2 class="section-title">🤔 What Else Could $420,000 Buy in Cape Coral?</h2>
    <p class="section-sub">Just something to think about while you're watching the flag go up.</p>

    <div class="compare-grid">
      <div class="compare-card">
        <span class="compare-icon">🚧</span>
        <div class="compare-text">
          <strong>~840 pothole repairs</strong>
          <span>At ~$500 each — improving roads Cape Coral residents actually use every day</span>
        </div>
      </div>
      <div class="compare-card">
        <span class="compare-icon">🌳</span>
        <div class="compare-text">
          <strong>4 new neighborhood parks</strong>
          <span>A typical small park installation runs $80K–$120K</span>
        </div>
      </div>
      <div class="compare-card">
        <span class="compare-icon">👮</span>
        <div class="compare-text">
          <strong>3+ police officers for a year</strong>
          <span>Average LEO salary + benefits in SW Florida runs ~$120K/yr</span>
        </div>
      </div>
      <div class="compare-card">
        <span class="compare-icon">🌀</span>
        <div class="compare-text">
          <strong>Hurricane prep infrastructure</strong>
          <span>Cape Coral is vulnerable — storm drainage improvements protect lives</span>
        </div>
      </div>
      <div class="compare-card">
        <span class="compare-icon">💧</span>
        <div class="compare-text">
          <strong>Water/sewer improvements</strong>
          <span>Cape Coral's utility expansion has been a chronic taxpayer burden</span>
        </div>
      </div>
      <div class="compare-card">
        <span class="compare-icon">📚</span>
        <div class="compare-text">
          <strong>School supplies for 2,000+ kids</strong>
          <span>At ~$200/student, that's a lot of kids starting the year ready to learn</span>
        </div>
      </div>
    </div>
  </div>
</section>

<div class="divider"></div>

<!-- ══════════════════════ TIMELINE ══════════════════════ -->
<section class="section">
  <h2 class="section-title">📅 The Flagpole Timeline</h2>
  <p class="section-sub">From approval to raising — here's how this project unfolded.</p>

  <div class="timeline">
    <div class="timeline-item">
      <div class="timeline-dot blue">📋</div>
      <div class="timeline-content">
        <div class="timeline-date">March 2026</div>
        <div class="timeline-title">City Council Approves the Contract</div>
        <div class="timeline-desc">Cape Coral approves a contract for a 250-foot flagpole at Bernice Park with a price tag of up to $420,000. A fundraiser is launched to cover costs.</div>
      </div>
    </div>
    <div class="timeline-item">
      <div class="timeline-dot gold">💰</div>
      <div class="timeline-content">
        <div class="timeline-date">Spring 2026</div>
        <div class="timeline-title">Fundraising Raises $281K+</div>
        <div class="timeline-desc">The city raises over $281,000 in donations — but the project cost exceeds that, leaving taxpayers on the hook for the gap plus all future maintenance.</div>
      </div>
    </div>
    <div class="timeline-item">
      <div class="timeline-dot blue">🏗️</div>
      <div class="timeline-content">
        <div class="timeline-date">June 4, 2026</div>
        <div class="timeline-title">Substantial Completion Deadline — Missed?</div>
        <div class="timeline-desc">The contract required "substantial completion" by June 4. Social media posts claimed the contractor missed this deadline and should be fined $1,294/day. The city disputed the framing.</div>
      </div>
    </div>
    <div class="timeline-item">
      <div class="timeline-dot red">⚠️</div>
      <div class="timeline-content">
        <div class="timeline-date">June 18, 2026</div>
        <div class="timeline-title">City Pushes Back on Delay Claims</div>
        <div class="timeline-desc">"The final completion date for this project is July 3rd," said Cape Coral's communications manager Melissa Mickey. The city says no fines apply unless the project isn't finished by July 3.</div>
      </div>
    </div>
    <div class="timeline-item">
      <div class="timeline-dot green">🎉</div>
      <div class="timeline-content">
        <div class="timeline-date">July 4, 2026 · 2:00 PM</div>
        <div class="timeline-title">🚩 The Flag Goes Up — "Raise the Flag" Ceremony</div>
        <div class="timeline-desc">The official "Raise the Flag" ceremony at Bernice Braden Park, 2051 Cape Coral Pkwy. Open to the public. America's 250th birthday. Florida's tallest flagpole officially raised.</div>
      </div>
    </div>
  </div>
</section>

<div class="divider"></div>

<!-- ══════════════════════ DAILY UPDATES (SEO/freshness block) ══════════════════════ -->
<section class="section" id="daily-updates" style="max-width:100%; padding:60px 20px;">
  <div style="max-width:800px; margin:0 auto;">
    <h2 class="section-title">🔥 Daily Cape Coral Flagpole Updates</h2>
    <p class="section-sub">Fresh angles on the story every day — cost, location, timeline, and everything in between.</p>
    <div id="daily-updates-list" style="display:flex; flex-direction:column; gap:18px; margin-top:24px;">
      <article style="border-left:4px solid var(--blue); padding:14px 18px; background:#f9fafb; border-radius:8px;">
        <p style="font-size:12px; color:var(--muted); margin:0 0 6px; font-weight:600;">JULY 2, 2026</p>
        <h3 style="font-size:17px; margin:0 0 6px;">Cape Coral's $420K Flagpole: How Much Are Taxpayers Actually Paying?</h3>
        <p style="font-size:14px; color:#374151; margin:0;">The 250-foot flagpole cost roughly $420,000 total — about $330,000 came from donations, while taxpayers covered around $90,000. Add $16,000 in annual maintenance and the math keeps climbing. Ceremony is set for July 4, 2026 at Bernice Braden Park.</p>
      </article>


      <article style="border-left:4px solid var(--blue); padding:14px 18px; background:#f9fafb; border-radius:8px;">
        <p style="font-size:12px; color:var(--muted); margin:0 0 6px; font-weight:600;">JULY 2, 2026</p>
        <h3 style="font-size:17px; margin:0 0 6px;">Is the Cape Coral flagpole really Florida's tallest?</h3>
        <p style="font-size:14px; color:#374151; margin:0;">Yes — at 250 feet, the new pole at Bernice Braden Park (2051 Cape Coral Pkwy) beats every other flagpole in the state on record. For comparison, most municipal flagpoles top out around 60–80 feet. Cape Coral's version cost $420,000+ to build.</p>
      </article>

      <article style="border-left:4px solid var(--blue); padding:14px 18px; background:#f9fafb; border-radius:8px;">
        <p style="font-size:12px; color:var(--muted); margin:0 0 6px; font-weight:600;">JULY 1, 2026</p>
        <h3 style="font-size:17px; margin:0 0 6px;">Cape Coral flagpole cost breakdown: where did $420,000 go?</h3>
        <p style="font-size:14px; color:#374151; margin:0;">$330K came from donations, leaving roughly $90K covered by taxpayers. On top of that, the city budgeted $16,000/year in maintenance and $50,000 per replacement flag. The contractor missed the original June 4 completion deadline, triggering $1,294/day in liquidated damages.</p>
      </article>

      <article style="border-left:4px solid var(--blue); padding:14px 18px; background:#f9fafb; border-radius:8px;">
        <p style="font-size:12px; color:var(--muted); margin:0 0 6px; font-weight:600;">JUNE 30, 2026</p>
        <h3 style="font-size:17px; margin:0 0 6px;">When does the Cape Coral flagpole go up? Ceremony details</h3>
        <p style="font-size:14px; color:#374151; margin:0;">The "Raise the Flag" ceremony is set for July 4, 2026 at 2:00 PM at Bernice Braden Park. City officials confirmed no fines apply to the contractor until July 3 — a point that's already dividing local opinion on whether the delay was handled fairly.</p>
      </article>

    </div>
  </div>
</section>

<div class="divider"></div>

<!-- ══════════════════════ NEWS ══════════════════════ -->
<section class="section" style="background:#f9fafb; max-width:100%; padding:60px 20px;">
  <div style="max-width:900px; margin:0 auto;">
    <h2 class="section-title">📰 Latest Coverage</h2>
    <p class="section-sub">What local media is saying about Cape Coral's tallest flagpole.</p>

    <div class="news-list">
      <div class="news-item">
        <span class="news-icon">📺</span>
        <div>
          <div class="news-title"><a href="https://www.gulfcoastnewsnow.com/article/cape-coral-delay-claims-250-foot-flagpole-construction/71632438" target="_blank" rel="noopener">Questions swirl over Cape Coral flagpole timeline</a></div>
          <div class="news-meta">Gulf Coast News (WBBH) · June 18, 2026 · Cape Coral pushes back on delay claims ahead of July 4th ceremony</div>
        </div>
      </div>
      <div class="news-item">
        <span class="news-icon">🏗️</span>
        <div>
          <div class="news-title"><a href="https://www.gulfcoastnewsnow.com/article/cape-coral-construction-florida-tallest-flagpole/71459079" target="_blank" rel="noopener">Cape Coral begins construction on Florida's tallest flagpole</a></div>
          <div class="news-meta">Gulf Coast News (WBBH) · Construction begins at Bernice Braden Park ahead of July 4th celebration</div>
        </div>
      </div>
      <div class="news-item">
        <span class="news-icon">📰</span>
        <div>
          <div class="news-title"><a href="https://www.capecoralbreeze.com/news/local-news/2026/03/27/flag-pole-for-americas-250th-anniversary-approved/" target="_blank" rel="noopener">Flag pole for America's 250th anniversary approved</a></div>
          <div class="news-meta">Cape Coral Breeze · March 27, 2026 · City council approves contract with price tag up to $420,000</div>
        </div>
      </div>
      <div class="news-item">
        <span class="news-icon">🏛️</span>
        <div>
          <div class="news-title"><a href="https://www.capecoral.gov/departments/office_of_communications/raise_the_flag_fundraiser.php" target="_blank" rel="noopener">Raise the Flag Fundraiser — City of Cape Coral Official Page</a></div>
          <div class="news-meta">City of Cape Coral · Official fundraiser & ceremony info for July 4, 2026 at 2pm</div>
        </div>
      </div>
    </div>
  </div>
</section>

<div class="divider"></div>

<!-- ══════════════════════ COMMUNITY BOARD ══════════════════════ -->
<section class="section" id="community-board" style="padding: 60px 20px; background:#f9fafb;">
  <div style="max-width:800px; margin:0 auto;">
    <h2 class="section-title">🗣️ Cape Coral Community Board</h2>
    <p class="section-sub">
      See something? Say something. Report city spending, permitting delays, code enforcement double-standards,
      contractor issues, or anything else Cape Coral residents should know about. Post it below — no login required
      beyond a free GitHub account, and everything is public and timestamped so nothing gets buried.
    </p>
    <script src="https://giscus.app/client.js"
        data-repo="arthur7021/capecoralflagpole"
        data-repo-id="R_kgDOTK_eGQ"
        data-category="General"
        data-category-id="DIC_kwDOTK_eGc4DAWPR"
        data-mapping="specific"
        data-term="Community Board"
        data-strict="0"
        data-reactions-enabled="1"
        data-emit-metadata="0"
        data-input-position="top"
        data-theme="light"
        data-lang="en"
        data-loading="lazy"
        crossorigin="anonymous"
        async>
    </script>
  </div>
</section>

<div class="divider"></div>

<!-- ══════════════════════ SHARE ══════════════════════ -->
<section class="share-section" style="padding: 60px 20px;">
  <div style="max-width:700px; margin:0 auto;">
    <h2 class="section-title">📣 Spread the Word</h2>
    <p class="section-sub">Whether you love it or hate it — Cape Coral residents deserve to weigh in. Share this poll.</p>
    <div class="share-buttons">
      <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fcapecoralflagpole.com&quote=Cape+Coral+is+spending+%24450K+on+a+flagpole.+Was+it+worth+it%3F+Vote+now%3A" target="_blank" class="share-btn share-fb">
        📘 Share on Facebook
      </a>
      <a href="https://twitter.com/intent/tweet?text=Cape+Coral+is+raising+Florida%27s+tallest+flagpole+%E2%80%94+a+250-foot+%24450K+pole+going+up+July+4th.+Was+it+worth+your+tax+money%3F+Vote%3A&url=https%3A%2F%2Fcapecoralflagpole.com&hashtags=CapeCoralFlagpole,CapeCoral,Florida" target="_blank" class="share-btn share-tw">
        🐦 Share on X
      </a>
      <a href="https://api.whatsapp.com/send?text=Cape+Coral+is+spending+%24450K+on+Florida%27s+tallest+flagpole.+Was+it+worth+your+tax+money%3F+Vote%3A+https%3A%2F%2Fcapecoralflagpole.com" target="_blank" class="share-btn share-wa">
        💬 WhatsApp
      </a>
      <button onclick="copyLink()" class="share-btn share-copy" id="copyBtn">
        🔗 Copy Link
      </button>
    </div>
    <p style="color:rgba(255,255,255,0.5); font-size:13px; margin-top:24px;">
      #CapeCoralFlagpole · #CapeCoral · #FlagPoll · #FloridaPolitics
    </p>
  </div>
</section>

<div class="divider"></div>

<!-- ══════════════════════ FOOTER ══════════════════════ -->
<footer>
  <p style="margin-bottom:10px;">
    <strong>CapeCoralFlagpole.com</strong> — Community information & opinion site
  </p>
  <p style="margin-bottom:12px;">
    This is an independent community site. Not affiliated with the City of Cape Coral.<br>
    Facts sourced from public city records, Gulf Coast News, and Cape Coral Breeze.
  </p>
  <p>
    Have a tip or correction? 
    <a href="https://twitter.com/search?q=%23CapeCoralFlagpole" target="_blank">#CapeCoralFlagpole on X</a>
  </p>
</footer>

<script>
  const API = 'https://api.counterapi.dev/v1/capecoraralflagpole2026';
  // Note: using 'capecoraraflagpole2026' as namespace to avoid conflicts with test calls

  let userVote = localStorage.getItem('ccfp_vote');
  let counts = { yes: 0, no: 0, mixed: 0 };

  async function getCounts() {
    try {
      const [y, n, m] = await Promise.all([
        fetch(`${API}/yes`).then(r => r.json()),
        fetch(`${API}/no`).then(r => r.json()),
        fetch(`${API}/mixed`).then(r => r.json()),
      ]);
      counts = {
        yes: y.count || 0,
        no: n.count || 0,
        mixed: m.count || 0
      };
    } catch(e) {
      // fallback: use stored counts if any
      const stored = localStorage.getItem('ccfp_counts');
      if (stored) counts = JSON.parse(stored);
    }
  }

  function renderResults() {
    const total = counts.yes + counts.no + counts.mixed;
    if (total === 0) return;
    const pct = k => total ? Math.round(counts[k] / total * 100) : 0;
    document.getElementById('bar-yes').style.width = pct('yes') + '%';
    document.getElementById('bar-no').style.width = pct('no') + '%';
    document.getElementById('bar-mixed').style.width = pct('mixed') + '%';
    document.getElementById('pct-yes').textContent = pct('yes') + '%';
    document.getElementById('pct-no').textContent = pct('no') + '%';
    document.getElementById('pct-mixed').textContent = pct('mixed') + '%';
    document.getElementById('pollTotal').textContent = `${total.toLocaleString()} vote${total !== 1 ? 's' : ''} cast`;
    if (userVote) {
      const labels = { yes: 'Yes 🇺🇸', no: 'No 💸', mixed: 'Mixed 🤷' };
      document.getElementById('pollVotedMsg').textContent = `You voted: ${labels[userVote]}`;
    }
  }

  async function castVote(choice) {
    if (localStorage.getItem('ccfp_vote')) return; // already voted
    // highlight selection
    document.querySelectorAll('.poll-btn').forEach(b => b.disabled = true);
    document.getElementById('btn-' + choice).classList.add('selected');
    localStorage.setItem('ccfp_vote', choice);
    userVote = choice;
    // increment counter
    try {
      const r = await fetch(`${API}/${choice}/up`).then(res => res.json());
      counts[choice] = r.count || counts[choice] + 1;
    } catch(e) {
      counts[choice]++;
    }
    localStorage.setItem('ccfp_counts', JSON.stringify(counts));
    // show results
    document.getElementById('pollResults').style.display = 'flex';
    renderResults();
  }

  async function init() {
    await getCounts();
    if (userVote) {
      // already voted — show results immediately
      document.querySelectorAll('.poll-btn').forEach(b => {
        b.disabled = true;
        if (b.id === 'btn-' + userVote) b.classList.add('selected');
      });
      document.getElementById('pollResults').style.display = 'flex';
      renderResults();
    }
  }

  function copyLink() {
    navigator.clipboard.writeText('https://capecoralflagpole.com').then(() => {
      const btn = document.getElementById('copyBtn');
      btn.textContent = '✅ Copied!';
      setTimeout(() => btn.textContent = '🔗 Copy Link', 2000);
    });
  }

  init();
</script>
</body>
</html>
