Add Dockerized LAMP stack and website skeleton for ALWISP

- Docker Compose orchestrating PHP 8.2/Apache web container and MySQL 8.0
- Dockerfile with GD, PDO, MySQLi extensions and security hardening
- Apache vhost with mod_rewrite, deflate, expires, and security headers
- PHP config with OPcache enabled and display_errors off
- MySQL init schema (contacts, coverage_zones tables)
- Front-controller PHP router (index.php → pages/)
- Responsive homepage: hero, stats bar, services cards, why section, coverage CTA
- Stub pages: services, coverage, about, contact (with working form skeleton), 404
- CSS design system using brand palette from logo (navy #0d1b3e → teal #00bcd4 + orange #f57c00 accents)
- JS: nav scroll/mobile toggle, IntersectionObserver counter animation, scroll reveal

https://claude.ai/code/session_015wpwmheufcxkBuXivrSHhd
This commit is contained in:
Claude
2026-02-28 21:39:21 +00:00
parent 69b567cf72
commit 3e26125afa
18 changed files with 1469 additions and 0 deletions

53
www/includes/footer.php Normal file
View File

@@ -0,0 +1,53 @@
</main>
<!-- ===================== FOOTER ===================== -->
<footer class="site-footer">
<div class="container footer__grid">
<div class="footer__brand">
<a href="/" class="nav__logo" aria-label="ALWISP Home">
<span class="nav__logo-text">AL<span class="accent">WISP</span></span>
</a>
<p class="footer__tagline">Connecting Alabama,<br>one node at a time.</p>
</div>
<div class="footer__links">
<h4 class="footer__heading">Services</h4>
<ul>
<li><a href="/services#residential">Residential Internet</a></li>
<li><a href="/services#business">Business Internet</a></li>
<li><a href="/services#infrastructure">Network Infrastructure</a></li>
<li><a href="/services#managed">Managed Networking</a></li>
</ul>
</div>
<div class="footer__links">
<h4 class="footer__heading">Company</h4>
<ul>
<li><a href="/about">About Us</a></li>
<li><a href="/coverage">Coverage Map</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</div>
<div class="footer__contact">
<h4 class="footer__heading">Contact</h4>
<p>📞 <a href="tel:+1-000-000-0000">(000) 000-0000</a></p>
<p> <a href="mailto:info@alwisp.net">info@alwisp.net</a></p>
<div class="footer__social">
<!-- Social icons add links when ready -->
<a href="#" aria-label="Facebook" class="footer__social-link">FB</a>
<a href="#" aria-label="Twitter/X" class="footer__social-link">X</a>
</div>
</div>
</div>
<div class="footer__bottom container">
<p>&copy; <?= date('Y') ?> Alabama WISP Mesh Network Solutions. All rights reserved.</p>
</div>
</footer>
<script src="/js/main.js" defer></script>
</body>
</html>

45
www/includes/header.php Normal file
View File

@@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Alabama WISP Mesh Network Solutions. High-speed wireless internet and enterprise networking for rural and underserved communities.">
<title>ALWISP Mesh Network Solutions</title>
<!-- Preconnect for performance -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<!-- Google Fonts: Inter (body) + Space Grotesk (headings) -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="icon" href="/assets/favicon.ico" type="image/x-icon">
</head>
<body>
<!-- ===================== NAV ===================== -->
<header class="site-header" id="site-header">
<nav class="nav container">
<a href="/" class="nav__logo" aria-label="ALWISP Home">
<img src="/assets/logo-condensed.png" alt="ALWISP Logo" class="nav__logo-img" onerror="this.style.display='none'">
<span class="nav__logo-text">AL<span class="accent">WISP</span></span>
</a>
<button class="nav__toggle" id="nav-toggle" aria-label="Open menu" aria-expanded="false" aria-controls="nav-menu">
<span class="nav__toggle-bar"></span>
<span class="nav__toggle-bar"></span>
<span class="nav__toggle-bar"></span>
</button>
<ul class="nav__menu" id="nav-menu" role="menubar">
<li role="none"><a href="/" class="nav__link" role="menuitem">Home</a></li>
<li role="none"><a href="/services" class="nav__link" role="menuitem">Services</a></li>
<li role="none"><a href="/coverage" class="nav__link" role="menuitem">Coverage</a></li>
<li role="none"><a href="/about" class="nav__link" role="menuitem">About</a></li>
<li role="none"><a href="/contact" class="nav__link nav__link--cta" role="menuitem">Get Connected</a></li>
</ul>
</nav>
</header>
<main id="main-content">