Files
luxury-detailing-maine/index.html
T

301 lines
7.0 KiB
HTML

<!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="Maine Luxury Detailing provides professional car cleaning services in the Portland Area"
/>
<title>Maine Luxury Detailing</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/** NAV STYLING */
header {
background-color: #000;
padding: 1rem 0;
position: sticky;
top: 0;
z-index: 999;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: #ffd700;
text-decoration: none;
}
#navMenu {
display: flex;
list-style: none;
gap: 2rem;
}
.navLink {
color: #ffd700;
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}
.navLink:hover {
color: #fff;
}
#hamburger {
display: none;
flex-direction: column;
cursor: pointer;
background: none;
border: none;
padding: 5px;
}
#hamburger span {
width: 25px;
height: 3px;
background-color: #ffd700;
margin: 3 px 0;
transition: 0.3s;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
Cantarell, sans-serif;
line-height: 1.6;
color: #000;
background-color: #fff
}
main {
max-width: 700px;
margin: 3rem auto;
padding: 0 20px;
}
section {
margin-bottom: 3rem;
}
h1 {
font-size: 2.5rem;
color: #000;
margin-bottom: 1rem;
text-align: center;
}
h2 {
font-size: 2rem;
color: #ffd700;
margin-bottom: 1rem;
border-bottom: 2px solid #ffd700;
padding-bottom: 0.5rem;
}
h3 {
font-size: 1.5rem;
color: #000;
margin-bottom: 1rem;
}
p {
margin-bottom: 1rem;
max-width: 75%;
}
footer {
background-color: #000;
color: #ffd700;
text-align: center;
padding: 2rem 0;
margin-top: 4rem;
}
/** "skip link" for screen readers */
.skipLink {
position: absolute;
top: -50px;
left: 6px;
background: #fff;
color: #000;
padding: 8px;
text-decoration: none;
font-weight: bold;
border-radius: 4px;
z-index: 1000;
}
.skipLink:focus {
top: 6px;
}
/** Desktop (defaul) styles */
@media screen and (min-width: 769px) {
h1 {
font-size: 3rem;
}
nav, main {
padding: 0 40px;
}
#navMenu {
gap: 3rem;
}
}
/* Mobile Styles */
@media screen and (max-width: 768px) {
#hamburger {
display: flex;
}
nav {
padding: 0 15px;
}
#navMenu {
position: fixed;
left: -100%;
top: 70px;
flex-direction: column;
background-color: #000;
width: 100%;
text-align: center;
transition: 0.3s;
box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
padding: 2rem 0;
gap: 1rem;
}
#navMenu.active {
left: 0;
}
#navMenu li {
margin: 1rem 0;
}
/** Hamburger animation */
#hamburger.active span:nth-child(1) {
transform: rotate(-45deg) translate(-5px, 6px);
}
#hamburger.active span:nth-child(2) {
opacity: 0;
}
#hamburger.active span:nth-child(3) {
transform: rotate(45deg) translate(-5px, -6px);
}
h1 {
font-size: 2rem;
}
}
</style>
</head>
<body>
<a href="#main-content" class="skipLink">Skip to main content</a>
<header>
<nav>
<a href="#" class="logo" aria-label="Company Logo">MLD</a>
<button
id="hamburger"
aria-label="Toggle mobile navigation menu"
aria-expanded="false"
>
<span></span>
<span></span>
<span></span>
</button>
<ul id="navMenu" role="banner">
<li><a class="navLink" role="navigation" href="#Services">Services</a></li>
<li><a class="navLink" role="navigation" href="#Ceramic Coating">Ceramic Coating</a></li>
<li><a class="navLink" role="navigation" href="#Reviews">Reviews</a></li>
<li><a class="navLink" role="navigation" href="#Contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="main-content">
<section id="intro">
<h1>Serving Portland since 2023</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse
posuere cursus ante, quis tempor lacus fringilla id. Pellentesque sed
mi luctus odio varius hendrerit. Nam vitae fermentum ligula, sit amet
consectetur sem.
</p>
</section>
</main>
<footer>
<div id="footer-left">
<p>&copy;Maine Luxury Detailing 2025. All rights reserved.</p>
</div>
<div id="footer-right">
<p>Phone: XXX-XXX-XXXXX</p>
<p>Email: xxx@xxx.xxx</p>
<a href="#">instagram</a>
<!-- <img class="footer-icon" src="">
<a href="#"></a>
</img> -->
</div>
</footer>
<script>
const hamburger = document.getElementById("hamburger");
const navMenu = document.getElementById("navMenu");
// Toggle hamburger menu
hamburger.addEventListener("click", function () {
console.log("toggle");
hamburger.classList.toggle("active");
navMenu.classList.toggle("active");
const isExpanded = navMenu.classList.contains("active");
hamburger.setAttribute("aria-expanded", isExpanded);
});
// Close hamburger when nav link clicked
let navLinks = document.getElementsByClassName("navLink");
for (let i = 0; i < navLinks.length; i++) {
navLinks[i].addEventListener("click", function (event) {
hamburger.classList.remove("active");
navMenu.classList.remove("active");
hamburger.setAttribute("aria-expanded", "false");
});
}
// CLose hamburger when click outside of menu
document.addEventListener("click", function (event) {
const clickOutside =
hamburger.contains(event.target) || navMenu.contains(event.target);
if (clickOutside && navMenu.classList.contains("active")) {
hamburger.classList.remove("active");
navMenu.classList.remove("active");
hamburger.setAttribute("aria-expanded", "false");
}
});
</script>
</body>
</html>