<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8" />

  <meta name="viewport" content="width=device-width, initial-scale=1" />

  <title>Springfield Lawyer | Over 35 Years of Legal Experience</title>

  <meta name="description" content="Springfield lawyer with over 35 years of legal experience. Call David now for a consultation." />

  <meta name="robots" content="index,follow" />

 

  <!-- Optional: basic social preview -->

  <meta property="og:title" content="Springfield Lawyer | Over 35 Years of Legal Experience" />

  <meta property="og:description" content="Call now for a consultation 217-210-7200." />

  <meta property="og:type" content="website" />

 

  <!-- Optional: local-business schema (edit fields) -->

  <script type="application/ld+json">

  {

    "@context":"https://schema.org",

    "@type":"LegalService",

    "name":"Springfield Lawyer",

    "telephone":"+1-217-210-7200",

    "areaServed":"Springfield, IL",

    "address":{

      "@type":"PostalAddress",

      "addressLocality":"Springfield",

      "addressRegion":"IL",

      "addressCountry":"US"

    }

  }

  </script>

 

  <style>

    :root{

      --bg:#0b0b0b;

      --card:#121212;

      --text:#f5f5f5;

      --muted:#bdbdbd;

      --line:#2a2a2a;

      --accent:#ffffff;

      --focus: rgba(255,255,255,.18);

    }

    *{box-sizing:border-box}

    body{

      margin:0;

      font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;

      background:var(--bg);

      color:var(--text);

      line-height:1.4;

    }

    a{color:inherit}

    .wrap{

      max-width: 880px;

      margin: 0 auto;

      padding: 40px 18px 80px;

    }

    header{

      text-align:center;

      padding: 24px 10px 10px;

    }

    .kicker{

      font-size: 14px;

      letter-spacing:.08em;

      text-transform: uppercase;

      color: var(--muted);

      margin: 0 0 10px;

    }

    h1{

      margin: 0;

      font-size: clamp(34px, 6vw, 56px);

      letter-spacing: -0.02em;

    }

    .phone{

      margin: 14px 0 0;

      font-size: clamp(20px, 3vw, 28px);

      font-weight: 700;

    }

    .phone a{

      text-decoration: none;

      border-bottom: 1px solid rgba(255,255,255,.25);

    }

    .divider{

      height:1px;

      background: var(--line);

      margin: 34px 0;

    }

    .section-title{

      text-align:center;

      margin:0 0 14px;

      font-size: 22px;

    }

    .card{

      background: var(--card);

      border: 1px solid var(--line);

      border-radius: 14px;

      padding: 18px;

    }

    label{

      display:block;

      margin: 12px 0 6px;

      color: var(--muted);

      font-size: 14px;

    }

    input, textarea{

      width:100%;

      padding: 12px 12px;

      border-radius: 10px;

      border: 1px solid var(--line);

      background: #0f0f0f;

      color: var(--text);

      outline: none;

    }

    input:focus, textarea:focus{

      border-color: rgba(255,255,255,.35);

      box-shadow: 0 0 0 4px var(--focus);

    }

    textarea{min-height: 120px; resize: vertical;}

    .row{

      display:grid;

      grid-template-columns: 1fr;

      gap: 12px;

    }

    @media (min-width: 720px){

      .row{grid-template-columns: 1fr 1fr;}

    }

    .hint{

      margin: 10px 0 0;

      color: var(--muted);

      font-size: 13px;

    }

    .actions{

      display:flex;

      gap: 10px;

      align-items:center;

      margin-top: 14px;

      flex-wrap: wrap;

    }

    button{

      padding: 12px 16px;

      border-radius: 10px;

      border: 1px solid rgba(255,255,255,.25);

      background: transparent;

      color: var(--text);

      font-weight: 700;

      cursor: pointer;

    }

    button:hover{border-color: rgba(255,255,255,.5)}

    .status{

      color: var(--muted);

      font-size: 13px;

      min-height: 18px;

    }

    footer{

      text-align:center;

      color: var(--muted);

      font-size: 13px;

      margin-top: 28px;

    }

 

    /* Cookie banner */

    .cookie{

      position: fixed;

      left: 16px;

      right: 16px;

      bottom: 16px;

      max-width: 980px;

      margin: 0 auto;

      background: rgba(18,18,18,.96);

      border: 1px solid var(--line);

      border-radius: 14px;

      padding: 14px 14px;

      display: none;

      backdrop-filter: blur(6px);

    }

    .cookie .top{

      display:flex;

      align-items:flex-start;

      justify-content: space-between;

      gap: 12px;

      flex-wrap: wrap;

    }

    .cookie strong{display:block; margin-bottom: 4px;}

    .cookie p{

      margin: 0;

      color: var(--muted);

      font-size: 13px;

      max-width: 720px;

    }

    .cookie .btns{

      display:flex;

      gap: 8px;

      margin-top: 10px;

    }

    .cookie .btn{

      padding: 10px 12px;

      border-radius: 10px;

      border: 1px solid rgba(255,255,255,.25);

      background: transparent;

      color: var(--text);

      font-weight: 700;

      cursor:pointer;

      font-size: 13px;

    }

    .cookie .btn.primary{

      background: rgba(255,255,255,.10);

      border-color: rgba(255,255,255,.35);

    }

  </style>

</head>

 

<body>

  <div class="wrap">

    <header>

      <!-- EDIT THESE LINES -->

      <p class="kicker">Springfield Lawyer <br> Mr.  David Patrick Hall</p>

      <h1>Over 35 Years of Legal Experience</h1>

      <p class="phone">

        <a href="tel:+12172107200">1-217-210-7200</a>

      </p>

      <!-- /EDIT -->

    </header>

 

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

 

    <h2 class="section-title">Contact Us</h2>

 

    <div class="card">

      <!--

        FORM OPTIONS:

 

        Option A (Easiest): Formspree

        1) Create a Formspree form, get your endpoint URL.

        2) Replace ACTION_URL below with it.

        3) Set method="POST" and remove the JS submit handler if you want.

 

        Option B (No service): mailto fallback (works, but less reliable for users).

      -->

 

      <form id="contactForm" novalidate>

        <div class="row">

          <div>

            <label for="name">Name</label>

            <input id="name" name="name" autocomplete="name" />

          </div>

 

          <div>

            <label for="email">Email *</label>

            <input id="email" name="email" type="email" autocomplete="email" required />

          </div>

        </div>

 

        <label for="message">Message</label>

        <textarea id="message" name="message" placeholder="Briefly describe what you need."></textarea>

 

        <p class="hint">

          Sign up for our email list for updates, promotions, and more.

        </p>

 

        <div class="actions">

          <button type="submit">Send</button>

          <span class="status" id="status"></span>

        </div>

 

        <p class="hint" style="margin-top:12px;">

          This site is protected by reCAPTCHA and the Google

          <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Privacy Policy</a>

          and

          <a href="https://policies.google.com/terms" target="_blank" rel="noopener">Terms of Service</a>

          apply.

        </p>

      </form>

    </div>

 

    <footer>

      <!-- EDIT NAME/YEAR -->

      Copyright © <span id="year"></span> Springfield Lawyer Mr. David Patrick Hall- All Rights Reserved.

    </footer>

  </div>

 

  <!-- Cookie banner -->

  <div class="cookie" id="cookieBanner" role="dialog" aria-live="polite" aria-label="Cookie notice">

    <div class="top">

      <div>

        <strong>This website uses cookies.</strong>

        <p>

          We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies,

          your data will be aggregated with all other user data.

        </p>

        <div class="btns">

          <button class="btn" id="cookieDecline">Decline</button>

          <button class="btn primary" id="cookieAccept">Accept</button>

        </div>

      </div>

    </div>

  </div>

 

  <script>

    // Footer year

    document.getElementById("year").textContent = new Date().getFullYear();

 

    // Cookie banner

    const cookieKey = "site_cookie_consent_v1";

    const banner = document.getElementById("cookieBanner");

    const existing = localStorage.getItem(cookieKey);

    if (!existing) banner.style.display = "block";

 

    document.getElementById("cookieAccept").addEventListener("click", () => {

      localStorage.setItem(cookieKey, "accepted");

      banner.style.display = "none";

    });

    document.getElementById("cookieDecline").addEventListener("click", () => {

      localStorage.setItem(cookieKey, "declined");

      banner.style.display = "none";

    });

 

    // Contact form behavior (choose one approach below)

 

    // APPROACH 1: Simple mailto fallback (no backend)

    // Pros: no service needed. Cons: opens user's email app; not reliable on all devices.

    const form = document.getElementById("contactForm");

    const statusEl = document.getElementById("status");

 

    form.addEventListener("submit", (e) => {

      e.preventDefault();

 

      const name = document.getElementById("name").value.trim();

      const email = document.getElementById("email").value.trim();

      const message = document.getElementById("message").value.trim();

 

      if (!email) {

        statusEl.textContent = "Email is required.";

        return;

      }

 

      // EDIT THESE:

      const toEmail = "davehall@motion.net";

      const subject = encodeURIComponent("Website Contact Request");

      const body = encodeURIComponent(

        `Name: ${name}\nEmail: ${email}\n\nMessage:\n${message}\n`

      );

 

      window.location.href = `mailto:${toEmail}?subject=${subject}&body=${body}`;

      statusEl.textContent = "Opening your email app...";

    });

 

    // APPROACH 2: Formspree (recommended if you want the form to actually submit)

    // 1) Create a Formspree form and get your endpoint.

    // 2) Replace ENDPOINT below and uncomment this block.

    /*

    const ENDPOINT = "https://formspree.io/f/xxxxxxx";

    form.addEventListener("submit", async (e) => {

      e.preventDefault();

      statusEl.textContent = "Sending...";

      const formData = new FormData(form);

      try {

        const res = await fetch(ENDPOINT, { method: "POST", body: formData, headers: { "Accept": "application/json" } });

        if (res.ok) {

          statusEl.textContent = "Sent. We will contact you shortly.";

          form.reset();

        } else {

          statusEl.textContent = "Send failed. Try again or call.";

        }

      } catch {

        statusEl.textContent = "Send failed. Check connection.";

      }

    });

    */

  </script>

</body>

</html>