<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>VALOR Supply Marketing | Websites, Hosting &amp; Branded Products</title>
<meta name="description" content="Professional website development, hosting &amp; maintenance, plus custom branded products — pens, notepads, hats — from VALOR Supply, a veteran-owned business." />
<style>
  :root{
    --navy:#0A1628;
    --navy-deep:#050c18;
    --navy-mid:#0f2038;
    --red:#b3202f;
    --red-bright:#d3222f;
    --white:#f7f7f5;
    --gold:#D4A82A;
    --grey:#9fb1c9;
    --maxw:1180px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background:var(--navy-deep);
    color:var(--white);
    line-height:1.6;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{
    font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-weight:900;
  }
  .nav-brand,.btn,.badge,.eyebrow{
    font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

  .stripes{
    position:absolute;inset:0;
    background:repeating-linear-gradient(
      180deg,
      rgba(255,255,255,0.02) 0px,
      rgba(255,255,255,0.02) 2px,
      transparent 2px,
      transparent 46px
    );
    pointer-events:none;
  }

  header{
    position:sticky;top:0;z-index:50;
    background:rgba(5,12,24,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 28px;max-width:var(--maxw);margin:0 auto;
  }
  .nav-brand{display:flex;align-items:center;gap:10px;font-size:18px;color:var(--white);}
  .nav-brand .star{color:var(--gold);font-size:16px;}
  .nav-brand small{display:block;font-family:ui-sans-serif, system-ui, sans-serif;font-weight:500;font-size:11px;letter-spacing:.12em;color:var(--grey);text-transform:uppercase;}
  .nav-links{display:flex;gap:32px;font-size:13px;font-weight:700;}
  .nav-links a{color:var(--grey);transition:color .2s;position:relative;}
  .nav-links a:hover{color:var(--white);}
  .nav-cta{
    background:var(--red);color:var(--white);padding:10px 22px;
    font-size:13px;font-weight:900;border-radius:2px;
    box-shadow:0 4px 14px rgba(179,32,47,0.35);
    transition:transform .2s, box-shadow .2s;
  }
  .nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(179,32,47,0.5);}

  /* ALERT / STAT BANNER */
  .alert-banner{
    background:linear-gradient(90deg, rgba(212,168,42,0.14), rgba(179,32,47,0.14));
    border-bottom:1px solid rgba(212,168,42,0.25);
    padding:14px 0;
  }
  .alert-banner .wrap{
    display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;text-align:center;
  }
  .alert-banner .icon{
    font-size:18px;color:var(--gold);flex-shrink:0;
  }
  .alert-banner p{
    font-size:14px;color:var(--white);
  }
  .alert-banner strong{color:var(--gold);font-weight:900;}

  /* HERO */
  .hero{
    position:relative;
    padding:80px 0 110px;
    overflow:hidden;
    background:radial-gradient(ellipse 900px 500px at 80% -10%, rgba(15,32,56,0.9), transparent),
               linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);
  }
  .hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;position:relative;z-index:2;}
  .eyebrow{
    color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.18em;
    display:flex;align-items:center;gap:10px;margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block;}
  .hero h1{
    font-size:clamp(38px,4.6vw,58px);line-height:1.06;font-weight:900;
    color:var(--white);letter-spacing:-0.01em;margin-bottom:22px;
  }
  .hero h1 em{
    font-style:normal;color:var(--red-bright);
    background:linear-gradient(180deg, transparent 68%, rgba(179,32,47,0.35) 68%);
  }
  .hero p.lead{
    font-size:17px;color:var(--grey);max-width:480px;margin-bottom:34px;font-weight:400;
  }
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
  .btn{
    display:inline-block;padding:15px 30px;font-size:13px;font-weight:900;
    border-radius:2px;transition:transform .2s, box-shadow .2s, background .2s;
    letter-spacing:.06em;
  }
  .btn-primary{background:var(--red);color:var(--white);box-shadow:0 8px 24px rgba(179,32,47,0.35);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(179,32,47,0.5);}
  .btn-ghost{border:1.5px solid rgba(255,255,255,0.25);color:var(--white);}
  .btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,0.06);}

  .hero-visual{position:relative;}
  .hero-visual .frame{
    border-radius:6px;overflow:hidden;
    box-shadow:0 30px 70px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.08);
    transform:perspective(1000px) rotateY(-3deg);
  }
  .hero-visual .badge-float{
    position:absolute;bottom:-22px;left:-26px;
    background:var(--navy-mid);border:1px solid rgba(212,168,42,0.4);
    padding:14px 20px;border-radius:4px;
    box-shadow:0 14px 30px rgba(0,0,0,0.4);
    display:flex;gap:12px;align-items:center;
  }
  .badge-float .num{font-size:22px;font-weight:900;color:var(--gold);}
  .badge-float .txt{font-size:11px;color:var(--grey);letter-spacing:.06em;text-transform:uppercase;line-height:1.3;font-weight:700;}

  .trust-strip{
    border-top:1px solid rgba(255,255,255,0.08);
    border-bottom:1px solid rgba(255,255,255,0.08);
    background:rgba(255,255,255,0.02);
    padding:22px 0;
  }
  .trust-strip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;}
  .trust-item{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--grey);letter-spacing:.05em;text-transform:uppercase;font-weight:700;}
  .trust-item .dot{width:6px;height:6px;background:var(--red-bright);border-radius:50%;}

  /* SECTION HEAD */
  .section{padding:100px 0;}
  .section-head{max-width:640px;margin-bottom:56px;}
  .section-head .eyebrow{color:var(--red-bright);}
  .section-head h2{
    font-size:clamp(28px,3.4vw,40px);color:var(--white);font-weight:900;
    letter-spacing:-0.01em;
  }
  .section-head p{color:var(--grey);margin-top:14px;font-size:16px;max-width:540px;font-weight:400;}

  /* SERVICES */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .service-card{
    background:linear-gradient(160deg, var(--navy-mid), var(--navy));
    border:1px solid rgba(255,255,255,0.08);
    border-radius:6px;padding:34px 28px;
    position:relative;overflow:hidden;
    transition:transform .25s, border-color .25s;
  }
  .service-card::before{
    content:"";position:absolute;top:0;left:0;width:100%;height:3px;
    background:linear-gradient(90deg,var(--red-bright),var(--gold));
  }
  .service-card:hover{transform:translateY(-6px);border-color:rgba(212,168,42,0.4);}
  .service-card .icon{
    width:46px;height:46px;border-radius:50%;
    background:rgba(179,32,47,0.15);border:1px solid rgba(179,32,47,0.4);
    display:flex;align-items:center;justify-content:center;
    font-size:20px;margin-bottom:20px;color:var(--red-bright);
    font-weight:900;
  }
  .service-card h3{font-size:19px;color:var(--white);margin-bottom:10px;font-weight:900;}
  .service-card p{color:var(--grey);font-size:14.5px;font-weight:400;}
  .service-card ul{margin-top:16px;padding-left:0;list-style:none;}
  .service-card li{color:var(--grey);font-size:13.5px;padding-left:18px;position:relative;margin-bottom:8px;font-weight:400;}
  .service-card li::before{content:"—";position:absolute;left:0;color:var(--gold);}

  /* PRICING */
  .pricing{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-deep) 100%);position:relative;}
  .pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
  .price-card{
    background:var(--navy-mid);border:1px solid rgba(255,255,255,0.1);
    border-radius:8px;padding:40px 36px;position:relative;
  }
  .price-card.featured{
    border:1.5px solid var(--red-bright);
    box-shadow:0 20px 50px rgba(179,32,47,0.25);
  }
  .price-card .tag{
    position:absolute;top:-13px;right:28px;background:var(--red-bright);
    color:var(--white);font-size:11px;padding:5px 14px;border-radius:2px;
    font-weight:900;letter-spacing:.08em;
  }
  .price-card h3{font-size:14px;color:var(--gold);margin-bottom:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
  .price-card .amount{display:flex;align-items:baseline;gap:8px;margin:6px 0 4px;}
  .price-card .amount .num{font-size:48px;font-weight:900;color:var(--white);}
  .price-card .amount .pre{font-size:15px;color:var(--grey);font-weight:400;}
  .price-card .per{font-size:13px;color:var(--grey);margin-bottom:26px;font-weight:400;font-style:italic;}
  .price-card hr{border:none;border-top:1px solid rgba(255,255,255,0.1);margin:22px 0;}
  .price-card ul{list-style:none;}
  .price-card li{
    display:flex;gap:10px;font-size:14.5px;color:var(--white);margin-bottom:13px;font-weight:400;
  }
  .price-card li::before{content:"✓";color:var(--red-bright);font-weight:900;flex-shrink:0;}
  .price-card .btn{width:100%;text-align:center;margin-top:26px;}

  /* PROMO PRODUCTS */
  .promo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .promo-visual img{border-radius:6px;box-shadow:0 30px 70px rgba(0,0,0,0.5);}
  .promo-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
  .promo-tag{
    border:1px solid rgba(255,255,255,0.18);padding:9px 18px;border-radius:30px;
    font-size:12px;letter-spacing:.06em;color:var(--grey);font-weight:700;
  }
  .promo-tag strong{color:var(--white);font-weight:900;}

  /* CONTACT / FORM */
  .contact-section{
    background:linear-gradient(120deg, var(--red) 0%, #7c1622 100%);
    padding:80px 0;position:relative;overflow:hidden;
  }
  .contact-section::after{
    content:"";position:absolute;inset:0;
    background:repeating-linear-gradient(45deg, rgba(255,255,255,0.04) 0 2px, transparent 2px 40px);
  }
  .contact-section .wrap{position:relative;z-index:2;}
  .contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:52px;align-items:flex-start;}
  .contact-copy h2{font-size:clamp(26px,3.4vw,36px);color:var(--white);margin-bottom:14px;font-weight:900;letter-spacing:-0.01em;}
  .contact-copy p{color:rgba(255,255,255,0.88);margin-bottom:22px;font-size:16px;font-weight:400;}
  .contact-copy .direct{
    border-top:1px solid rgba(255,255,255,0.25);padding-top:20px;margin-top:20px;
  }
  .contact-copy .direct a{display:block;color:var(--white);font-weight:900;font-size:15px;margin-bottom:8px;}
  .contact-copy .direct span{display:block;color:rgba(255,255,255,0.7);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-weight:700;}

  .contact-form{
    background:var(--navy-deep);border-radius:10px;padding:36px;
    box-shadow:0 25px 60px rgba(0,0,0,0.35);
  }
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  .form-group{margin-bottom:16px;}
  .form-group label{
    display:block;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
    color:var(--gold);margin-bottom:8px;
  }
  .form-group input, .form-group textarea{
    width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.15);
    border-radius:4px;padding:12px 14px;color:var(--white);font-size:14px;font-family:inherit;
    transition:border-color .2s, background .2s;
  }
  .form-group input:focus, .form-group textarea:focus{
    outline:none;border-color:var(--gold);background:rgba(255,255,255,0.08);
  }
  .form-group textarea{resize:vertical;min-height:100px;}
  .form-group input::placeholder, .form-group textarea::placeholder{color:rgba(159,177,201,0.6);}
  .contact-form .submit-btn{
    width:100%;background:var(--red-bright);color:var(--white);border:none;
    padding:15px 0;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
    border-radius:4px;cursor:pointer;transition:transform .2s, box-shadow .2s, background .2s;
  }
  .contact-form .submit-btn:hover{background:#e8323f;transform:translateY(-2px);}
  .contact-form .form-note{font-size:11.5px;color:var(--grey);margin-top:14px;text-align:center;}

  footer{background:var(--navy-deep);padding:44px 0;border-top:1px solid rgba(255,255,255,0.08);}
  footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
  footer p{color:var(--grey);font-size:12.5px;font-weight:400;}
  footer .foot-links a{color:var(--grey);font-size:12.5px;margin-left:20px;font-weight:700;}
  footer .foot-links a:hover{color:var(--white);}

  @media (max-width: 880px){
    .nav-links{display:none;}
    .hero .wrap{grid-template-columns:1fr;}
    .hero-visual{order:-1;}
    .services-grid{grid-template-columns:1fr;}
    .pricing-grid{grid-template-columns:1fr;}
    .promo{grid-template-columns:1fr;}
    .badge-float{left:0;}
    .contact-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
  }
</style>
</head>
<body>

<header>
  <nav>
    <div class="nav-brand">
      <span class="star">★</span>
      <div>
        VALOR MARKETING
        <small>A VALOR Supply LLC Company</small>
      </div>
    </div>
    <div class="nav-links">
      <a href="#services">Services</a>
      <a href="#pricing">Pricing</a>
      <a href="#products">Branded Products</a>
      <a href="#contact">Contact</a>
    </div>
    <a href="#contact" class="nav-cta">Get a Quote</a>
  </nav>
</header>

<div class="alert-banner">
  <div class="wrap">
    <span class="icon">⚠</span>
    <p>Every day without a professional website is a day you're <strong>losing sales</strong> to competitors who show up online. VALOR clients who launch a new site typically see a <strong>10–20% increase in business</strong> within months of going live.</p>
  </div>
</div>

<section class="hero">
  <div class="stripes"></div>
  <div class="wrap">
    <div class="hero-copy">
      <div class="eyebrow">Veteran-Owned &middot; Louisville, TN</div>
      <h1>Websites &amp; Branded Gear Built with <em>Military Precision</em></h1>
      <p class="lead">VALOR Marketing designs and hosts professional websites for small businesses and government contractors — then outfits your team with custom-branded pens, notepads, and hats to match.</p>
      <div class="hero-ctas">
        <a href="#pricing" class="btn btn-primary">See Pricing</a>
        <a href="#contact" class="btn btn-ghost">Talk to the Owner</a>
      </div>
    </div>
    <div class="hero-visual">
      <div class="frame">
        <img src="https://galaxy-prod.tlcdn.com/gen/user_31utWquDv2Hezz0RoSG1jLHa9HW/1b230763-cd39-4b7a-8663-cf4f3a516264.png" alt="Computer monitor displaying a professional business website" />
      </div>
      <div class="badge-float">
        <div class="num">$1,499</div>
        <div class="txt">Website Build<br/>Starting At</div>
      </div>
    </div>
  </div>
</section>

<div class="trust-strip">
  <div class="wrap">
    <div class="trust-item"><span class="dot"></span> Custom Design, No Templates</div>
    <div class="trust-item"><span class="dot"></span> Fast, Secure Hosting</div>
    <div class="trust-item"><span class="dot"></span> Ongoing Maintenance</div>
    <div class="trust-item"><span class="dot"></span> Branded Merchandise</div>
    <div class="trust-item"><span class="dot"></span> Direct Line to the Owner</div>
  </div>
</div>

<section class="section" id="services">
  <div class="wrap">
    <div class="section-head">
      <div class="eyebrow">What We Offer</div>
      <h2>Two Missions. One Standard of Excellence.</h2>
      <p>Whether you need a website that converts or branded gear that gets your name in front of customers, we deliver with the same discipline VALOR Supply brings to government contracting.</p>
    </div>
    <div class="services-grid">
      <div class="service-card">
        <div class="icon">1</div>
        <h3>Website Development</h3>
        <p>Custom-designed, mobile-ready websites built to represent your business professionally — no cookie-cutter templates.</p>
        <ul>
          <li>Custom design &amp; copywriting support</li>
          <li>Mobile &amp; tablet optimized</li>
          <li>Domain setup included</li>
          <li>SEO-ready foundation</li>
        </ul>
      </div>
      <div class="service-card">
        <div class="icon">2</div>
        <h3>Hosting &amp; Maintenance</h3>
        <p>Reliable hosting with ongoing monitoring, updates, and support so your site stays fast, secure, and online.</p>
        <ul>
          <li>Secure, high-uptime hosting</li>
          <li>Routine software updates</li>
          <li>Uptime &amp; security monitoring</li>
          <li>Minor content edits included</li>
        </ul>
      </div>
      <div class="service-card">
        <div class="icon">3</div>
        <h3>Branded Products</h3>
        <p>Put your logo to work off-screen with custom promotional products for events, client gifts, and team gear.</p>
        <ul>
          <li>Pens &amp; writing instruments</li>
          <li>Notepads &amp; notebooks</li>
          <li>Hats &amp; embroidered caps</li>
          <li>Custom bundles &amp; bulk orders</li>
        </ul>
      </div>
    </div>
  </div>
</section>

<section class="section pricing" id="pricing">
  <div class="wrap">
    <div class="section-head">
      <div class="eyebrow">Investment</div>
      <h2>Straightforward Pricing. No Hidden Fees.</h2>
      <p>Simple, transparent pricing built around what growing businesses actually need.</p>
    </div>
    <div class="pricing-grid">
      <div class="price-card featured">
        <span class="tag">Get Started</span>
        <h3>Website Development</h3>
        <div class="amount"><span class="pre">Starting at</span> <span class="num">$1,499</span></div>
        <div class="per">one-time build &amp; domain setup</div>
        <ul>
          <li>Custom-designed website (up to 5 pages)</li>
          <li>Domain registration &amp; setup</li>
          <li>Mobile-responsive design</li>
          <li>Contact forms &amp; basic SEO setup</li>
          <li>Launch support &amp; training</li>
        </ul>
        <a href="#contact" class="btn btn-primary">Request a Quote</a>
      </div>
      <div class="price-card">
        <h3>Hosting &amp; Maintenance</h3>
        <div class="amount"><span class="pre">As low as</span> <span class="num">$299</span></div>
        <div class="per">per month</div>
        <ul>
          <li>Secure, high-uptime hosting</li>
          <li>Ongoing software &amp; security updates</li>
          <li>Uptime &amp; performance monitoring</li>
          <li>Basic monthly content edits</li>
          <li>Priority email &amp; phone support</li>
        </ul>
        <a href="#contact" class="btn btn-ghost">Talk to Us</a>
      </div>
    </div>
  </div>
</section>

<section class="section" id="products">
  <div class="wrap promo">
    <div class="promo-copy">
      <div class="eyebrow">Custom Branded Merchandise</div>
      <h2 style="font-weight:900;font-size:clamp(26px,3.2vw,36px);margin-bottom:16px;letter-spacing:-0.01em;">Put Your Name In Their Hands</h2>
      <p style="color:var(--grey);font-size:16px;max-width:480px;font-weight:400;">A great website gets you found online — branded merchandise keeps you in front of customers everywhere else. We source and produce professional-quality promotional products featuring your business name and logo.</p>
      <div class="promo-tags">
        <span class="promo-tag"><strong>Pens</strong> &middot; writing instruments</span>
        <span class="promo-tag"><strong>Notepads</strong> &middot; notebooks &amp; padfolios</span>
        <span class="promo-tag"><strong>Hats</strong> &middot; embroidered caps</span>
        <span class="promo-tag"><strong>+ More</strong> &middot; ask about bulk orders</span>
      </div>
      <div class="hero-ctas" style="margin-top:32px;">
        <a href="#contact" class="btn btn-primary">Request Product Pricing</a>
      </div>
    </div>
    <div class="promo-visual">
      <img src="https://galaxy-prod.tlcdn.com/gen/user_31utWquDv2Hezz0RoSG1jLHa9HW/54e6c677-1b2c-41e8-8ada-c4a5c37aa8c2.png" alt="Branded pens, notepad, and cap in red white and blue" />
    </div>
  </div>
</section>

<section class="contact-section" id="contact">
  <div class="wrap">
    <div class="contact-grid">
      <div class="contact-copy">
        <h2>Ready to Build Your Online Presence?</h2>
        <p>No sales queue, no runaround — tell us about your project and we'll follow up directly. Every inquiry goes straight to the owner.</p>
        <div class="direct">
          <span>Prefer to call or email?</span>
          <a href="tel:8652434443">865-243-4443</a>
          <a href="mailto:will@valor-supply.com">will@valor-supply.com</a>
        </div>
      </div>
      <div class="contact-form">
        <form action="https://formsubmit.co/will@valor-supply.com" method="POST">
          <input type="hidden" name="_subject" value="New Inquiry — VALOR Marketing Website" />
          <input type="hidden" name="_template" value="table" />
          <input type="hidden" name="_captcha" value="false" />
          <input type="hidden" name="_next" value="https://marketing.valor-supply.com/?submitted=true#contact" />
          <div class="form-row">
            <div class="form-group">
              <label for="name">Name</label>
              <input type="text" id="name" name="Name" placeholder="John Smith" required />
            </div>
            <div class="form-group">
              <label for="business">Business Name</label>
              <input type="text" id="business" name="Business Name" placeholder="Acme Co." required />
            </div>
          </div>
          <div class="form-row">
            <div class="form-group">
              <label for="phone">Phone</label>
              <input type="tel" id="phone" name="Phone" placeholder="(865) 555-0123" required />
            </div>
            <div class="form-group">
              <label for="email">Email</label>
              <input type="email" id="email" name="Email" placeholder="you@example.com" required />
            </div>
          </div>
          <div class="form-group">
            <label for="comments">Comments</label>
            <textarea id="comments" name="Comments" placeholder="Tell us about your project or products you're interested in..."></textarea>
          </div>
          <button type="submit" class="submit-btn">Send Message</button>
          <p class="form-note">Your message goes directly to will@valor-supply.com. We typically respond within one business day.</p>
        </form>
      </div>
    </div>
  </div>
</section>

<footer>
  <div class="wrap">
    <p>VALOR Marketing &middot; A division of VALOR Supply LLC &middot; SDVOSB &middot; Louisville, TN</p>
    <div class="foot-links">
      <a href="https://valor-supply.com">valor-supply.com</a>
      <a href="tel:8652434443">865-243-4443</a>
    </div>
  </div>
</footer>

</body>
</html>
