Catering Landing Page Template
Preview
Edit
Download
Run
Download Options
HTML File
Download as .html file
CSS File
Download as .css file
JavaScript File
Download as .js file
Combined HTML
All code in one HTML file
Project ZIP
All files in a ZIP archive
Cancel
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>NovaCater - Futuristic Catering Services</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> </head> <body> <!-- Header --> <header id="header"> <a href="#" class="logo"><i class="fas fa-utensils"></i> NovaCater</a> <div class="menu-toggle" id="menuToggle"> <i class="fas fa-bars"></i> </div> <nav class="nav-links" id="navLinks"> <a href="#home">Home</a> <a href="#services">Services</a> <a href="#about">About</a> <a href="#menu">Menu</a> <a href="#testimonials">Testimonials</a> <a href="#gallery">Gallery</a> <a href="#team">Team</a> <a href="#contact">Contact</a> </nav> </header> <!-- Hero Section --> <section class="hero" id="home"> <div class="hero-content"> <h1>Futuristic Catering For The Modern Era</h1> <p>Experience culinary innovation with our AI-powered menu customization, drone delivery options, and molecular gastronomy techniques that redefine event catering.</p> <div class="hero-buttons"> <a href="#contact" class="btn">Book Now</a> <a href="#menu" class="btn btn-outline">View Menu</a> </div> </div> <img src="https://images.unsplash.com/photo-1555244162-803834f70033?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Futuristic Food Display" class="hero-image"> </section> <!-- Services Section --> <section class="services" id="services"> <div class="section-title"> <h2>Our Futuristic Services</h2> <p>We combine cutting-edge technology with culinary excellence to deliver unforgettable catering experiences.</p> </div> <div class="services-grid"> <div class="service-card"> <i class="fas fa-robot"></i> <h3>AI Menu Planning</h3> <p>Our artificial intelligence analyzes guest preferences to create perfectly tailored menus for your event.</p> </div> <div class="service-card"> <i class="fas fa-drone"></i> <h3>Drone Delivery</h3> <p>For select locations, enjoy rapid drone delivery of your catering order with precision timing.</p> </div> <div class="service-card"> <i class="fas fa-vr-cardboard"></i> <h3>VR Tastings</h3> <p>Experience menu previews in virtual reality before your event with our immersive technology.</p> </div> </div> </section> <!-- About Section --> <section class="about" id="about"> <div class="about-image"> <img src="https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Futuristic Restaurant"> </div> <div class="about-content"> <h2>About NovaCater</h2> <p>Founded in 2023, NovaCater is revolutionizing the catering industry by integrating advanced technologies with world-class culinary expertise.</p> <p>Our team of chefs, engineers, and hospitality experts work together to create dining experiences that were previously unimaginable.</p> <p>From holographic menu displays to temperature-controlled smart servingware, we're setting new standards in event catering.</p> <a href="#contact" class="btn">Learn More</a> </div> </section> <!-- Menu Section --> <section class="menu" id="menu"> <div class="section-title"> <h2>Signature Menu Items</h2> <p>Explore our innovative dishes that blend traditional flavors with futuristic preparation techniques.</p> </div> <div class="menu-grid"> <div class="menu-item"> <img src="https://images.unsplash.com/photo-1544025162-d76694265947?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1469&q=80" alt="Molecular Gastronomy Dish"> <div class="menu-item-content"> <h3>Spherified Olive Tapenade</h3> <p>Traditional flavors transformed through molecular gastronomy into delicate spheres that burst with flavor.</p> <div class="price">$18</div> </div> </div> <div class="menu-item"> <img src="https://images.unsplash.com/photo-1551504734-5ee1c4a1479b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="3D Printed Dessert"> <div class="menu-item-content"> <h3>3D Printed Chocolate Sculpture</h3> <p>Custom-designed chocolate creations printed to match your event's theme or logo.</p> <div class="price">$24</div> </div> </div> <div class="menu-item"> <img src="https://images.unsplash.com/photo-1563805042-7684c019e1cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1527&q=80" alt="Liquid Nitrogen Cocktail"> <div class="menu-item-content"> <h3>Nitrogen-Frozen Cocktails</h3> <p>Dramatically prepared tableside with swirling vapors and customizable flavor profiles.</p> <div class="price">$16</div> </div> </div> </div> </section> <!-- Testimonials Section --> <section class="testimonials" id="testimonials"> <div class="section-title"> <h2>Client Experiences</h2> <p>Don't just take our word for it - hear what our clients say about our futuristic catering services.</p> </div> <div class="testimonial-slider"> <div class="testimonial active"> <i class="fas fa-quote-left"></i> <p>"NovaCater completely transformed our product launch. The holographic menu displays and interactive food stations had our guests talking for weeks. The AI-recommended wine pairings were spot on!"</p> <div class="client-info"> <img src="https://randomuser.me/api/portraits/women/45.jpg" alt="Sarah Johnson"> <div class="client-name"> <h4>Sarah Johnson</h4> <p>Tech Startup CEO</p> </div> </div> </div> <div class="testimonial"> <i class="fas fa-quote-left"></i> <p>"The drone delivery option saved our outdoor wedding when unexpected weather forced us to change locations last minute. The food arrived perfectly on time and at ideal temperatures."</p> <div class="client-info"> <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Michael Chen"> <div class="client-name"> <h4>Michael Chen</h4> <p>Wedding Client</p> </div> </div> </div> <div class="testimonial"> <i class="fas fa-quote-left"></i> <p>"As a traditionalist, I was skeptical about 'futuristic' catering, but NovaCater won me over. The flavors were authentic and delicious, just presented in innovative ways that enhanced the experience."</p> <div class="client-info"> <img src="https://randomuser.me/api/portraits/women/68.jpg" alt="Elizabeth Dawson"> <div class="client-name"> <h4>Elizabeth Dawson</h4> <p>Corporate Event Planner</p> </div> </div> </div> <div class="slider-controls"> <div class="slider-control active" data-index="0"></div> <div class="slider-control" data-index="1"></div> <div class="slider-control" data-index="2"></div> </div> </div> </section> <!-- Gallery Section --> <section class="gallery" id="gallery"> <div class="section-title"> <h2>Our Work</h2> <p>See examples of our futuristic catering in action at various events and venues.</p> </div> <div class="gallery-grid"> <div class="gallery-item"> <img src="https://images.unsplash.com/photo-1519671482749-fd09be7ccebf?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Corporate Event"> </div> <div class="gallery-item"> <img src="https://images.unsplash.com/photo-1527529482837-4698179dc6ce?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Wedding Catering"> </div> <div class="gallery-item"> <img src="https://images.unsplash.com/photo-1547592180-85f173990554?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Food Presentation"> </div> <div class="gallery-item"> <img src="https://images.unsplash.com/photo-1555244162-803834f70033?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Modern Cuisine"> </div> </div> </section> <!-- Team Section --> <section class="team" id="team"> <div class="section-title"> <h2>Meet Our Futurists</h2> <p>The innovative minds behind NovaCater's revolutionary approach to catering.</p> </div> <div class="team-grid"> <div class="team-member"> <img src="https://randomuser.me/api/portraits/women/33.jpg" alt="Chef Aisha Patel"> <div class="team-member-info"> <h3>Chef Aisha Patel</h3> <p>Head of Culinary Innovation</p> <div class="social-links"> <a href="#"><i class="fab fa-twitter"></i></a> <a href="#"><i class="fab fa-instagram"></i></a> <a href="#"><i class="fab fa-linkedin"></i></a> </div> </div> </div> <div class="team-member"> <img src="https://randomuser.me/api/portraits/men/75.jpg" alt="Dr. Marcus Wong"> <div class="team-member-info"> <h3>Dr. Marcus Wong</h3> <p>Food Technology Director</p> <div class="social-links"> <a href="#"><i class="fab fa-twitter"></i></a> <a href="#"><i class="fab fa-instagram"></i></a> <a href="#"><i class="fab fa-linkedin"></i></a> </div> </div> </div> <div class="team-member"> <img src="https://randomuser.me/api/portraits/women/82.jpg" alt="Sophia Rodriguez"> <div class="team-member-info"> <h3>Sophia Rodriguez</h3> <p>AI Flavor Specialist</p> <div class="social-links"> <a href="#"><i class="fab fa-twitter"></i></a> <a href="#"><i class="fab fa-instagram"></i></a> <a href="#"><i class="fab fa-linkedin"></i></a> </div> </div> </div> </div> </section> <!-- Contact Section --> <section class="contact" id="contact"> <div class="section-title"> <h2>Ready for the Future of Catering?</h2> <p>Contact us to discuss how we can bring innovative catering solutions to your next event.</p> </div> <div class="contact-container"> <div class="contact-info"> <div class="contact-card"> <i class="fas fa-map-marker-alt"></i> <div class="contact-text"> <h3>Location</h3> <p>123 Future Street, Tech District, NY 10001</p> </div> </div> <div class="contact-card"> <i class="fas fa-phone-alt"></i> <div class="contact-text"> <h3>Phone</h3> <p>+1 (555) 123-4567</p> </div> </div> <div class="contact-card"> <i class="fas fa-envelope"></i> <div class="contact-text"> <h3>Email</h3> <p>info@novacater.com</p> </div> </div> <div class="contact-card"> <i class="fas fa-clock"></i> <div class="contact-text"> <h3>Hours</h3> <p>Monday - Friday: 9am - 9pm<br>Saturday - Sunday: 10am - 11pm</p> </div> </div> </div> <div class="contact-form"> <form> <div class="form-group"> <label for="name">Your Name</label> <input type="text" id="name" required> </div> <div class="form-group"> <label for="email">Email Address</label> <input type="email" id="email" required> </div> <div class="form-group"> <label for="event">Event Type</label> <input type="text" id="event" required> </div> <div class="form-group"> <label for="date">Event Date</label> <input type="date" id="date" required> </div> <div class="form-group"> <label for="message">Special Requests</label> <textarea id="message"></textarea> </div> <button type="submit" class="btn">Send Message</button> </form> </div> </div> </section> <!-- Footer --> <footer> <div class="footer-content"> <div class="footer-column"> <h3>NovaCater</h3> <p>Redefining catering through technology and culinary excellence since 2023.</p> </div> <div class="footer-column"> <h3>Quick Links</h3> <ul> <li><a href="#home">Home</a></li> <li><a href="#services">Services</a></li> <li><a href="#menu">Menu</a></li> <li><a href="#about">About</a></li> <li><a href="#contact">Contact</a></li> </ul> </div> <div class="footer-column"> <h3>Services</h3> <ul> <li><a href="#">Corporate Events</a></li> <li><a href="#">Weddings</a></li> <li><a href="#">Private Dinners</a></li> <li><a href="#">Product Launches</a></li> <li><a href="#">Custom Solutions</a></li> </ul> </div> <div class="footer-column"> <h3>Connect</h3> <div class="social-links"> <a href="#"><i class="fab fa-facebook-f"></i></a> <a href="#"><i class="fab fa-twitter"></i></a> <a href="#"><i class="fab fa-instagram"></i></a> <a href="#"><i class="fab fa-linkedin-in"></i></a> </div> </div> </div> <div class="footer-bottom"> <p>© 2023 NovaCater. All rights reserved. | Designed for the future of catering.</p> </div> </footer> </body> </html>
CSS
:root { --primary: #FFD700; --primary-dark: #FFC000; --primary-light: #FFF200; --dark: #111; --light: #f9f9f9; --gray: #333; --transition: all 0.5s cubic-bezier(0.65, 0, 0.35, 1); } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { background-color: var(--dark); color: var(--light); overflow-x: hidden; } /* Header */ header { position: fixed; top: 0; left: 0; width: 100%; padding: 20px 5%; display: flex; justify-content: space-between; align-items: center; z-index: 1000; background-color: rgba(0, 0, 0, 0.8); backdrop-filter: blur(10px); transition: var(--transition); } header.scrolled { padding: 15px 5%; background-color: rgba(0, 0, 0, 0.95); } .logo { font-size: 28px; font-weight: 700; color: var(--primary); text-decoration: none; display: flex; align-items: center; } .logo i { margin-right: 10px; color: var(--primary-light); } .nav-links { display: flex; gap: 30px; } .nav-links a { color: var(--light); text-decoration: none; font-weight: 500; position: relative; transition: var(--transition); } .nav-links a:hover { color: var(--primary); } .nav-links a::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background-color: var(--primary); transition: var(--transition); } .nav-links a:hover::after { width: 100%; } .menu-toggle { display: none; cursor: pointer; font-size: 24px; color: var(--light); } /* Hero Section */ .hero { height: 100vh; display: flex; align-items: center; padding: 0 5%; position: relative; overflow: hidden; } .hero::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255,215,0,0.1) 0%, rgba(0,0,0,0.9) 70%); z-index: -1; } .hero-content { max-width: 600px; animation: fadeInUp 1s ease-out; } .hero h1 { font-size: 4rem; margin-bottom: 20px; background: linear-gradient(90deg, var(--primary), var(--primary-light)); -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1.2; } .hero p { font-size: 1.2rem; margin-bottom: 30px; opacity: 0.9; } .btn { display: inline-block; padding: 12px 30px; background-color: var(--primary); color: var(--dark); text-decoration: none; font-weight: 600; border-radius: 30px; transition: var(--transition); border: 2px solid var(--primary); } .btn:hover { background-color: transparent; color: var(--primary); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(255, 215, 0, 0.2); } .btn-outline { background-color: transparent; color: var(--primary); margin-left: 15px; } .btn-outline:hover { background-color: var(--primary); color: var(--dark); } .hero-image { position: absolute; right: 5%; bottom: 0; height: 60%; animation: float 6s ease-in-out infinite; } /* Services Section */ .services { padding: 100px 5%; background-color: rgba(0, 0, 0, 0.7); } .section-title { text-align: center; margin-bottom: 60px; } .section-title h2 { font-size: 2.5rem; color: var(--primary); margin-bottom: 15px; } .section-title p { max-width: 700px; margin: 0 auto; opacity: 0.8; } .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; } .service-card { background-color: var(--gray); padding: 30px; border-radius: 10px; transition: var(--transition); border-bottom: 3px solid transparent; } .service-card:hover { transform: translateY(-10px); border-bottom-color: var(--primary); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); } .service-card i { font-size: 2.5rem; color: var(--primary); margin-bottom: 20px; } .service-card h3 { font-size: 1.5rem; margin-bottom: 15px; } /* About Section */ .about { padding: 100px 5%; display: flex; align-items: center; gap: 50px; } .about-image { flex: 1; position: relative; border-radius: 10px; overflow: hidden; min-height: 500px; } .about-image img { width: 100%; height: 100%; object-fit: cover; animation: scaleIn 8s infinite alternate; } .about-content { flex: 1; } .about-content h2 { font-size: 2.5rem; color: var(--primary); margin-bottom: 20px; } .about-content p { margin-bottom: 20px; opacity: 0.9; } /* Menu Section */ .menu { padding: 100px 5%; background-color: rgba(0, 0, 0, 0.7); } .menu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; margin-top: 50px; } .menu-item { background-color: var(--gray); border-radius: 10px; overflow: hidden; transition: var(--transition); } .menu-item:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); } .menu-item img { width: 100%; height: 200px; object-fit: cover; } .menu-item-content { padding: 20px; } .menu-item-content h3 { font-size: 1.3rem; margin-bottom: 10px; color: var(--primary); } .menu-item-content p { margin-bottom: 15px; opacity: 0.8; } .price { font-weight: 700; color: var(--primary); font-size: 1.2rem; } /* Testimonials */ .testimonials { padding: 100px 5%; } .testimonial-slider { max-width: 800px; margin: 0 auto; position: relative; } .testimonial { background-color: var(--gray); padding: 30px; border-radius: 10px; text-align: center; display: none; } .testimonial.active { display: block; animation: fadeIn 1s ease-out; } .testimonial i { font-size: 2rem; color: var(--primary); margin-bottom: 20px; } .testimonial p { font-style: italic; margin-bottom: 20px; font-size: 1.1rem; } .client-info { display: flex; align-items: center; justify-content: center; gap: 15px; } .client-info img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; border: 2px solid var(--primary); } .client-name { text-align: left; } .client-name h4 { color: var(--primary); margin-bottom: 5px; } .slider-controls { display: flex; justify-content: center; gap: 15px; margin-top: 30px; } .slider-control { width: 12px; height: 12px; border-radius: 50%; background-color: var(--gray); cursor: pointer; transition: var(--transition); } .slider-control.active { background-color: var(--primary); transform: scale(1.3); } /* Gallery */ .gallery { padding: 100px 5%; background-color: rgba(0, 0, 0, 0.7); } .gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 50px; } .gallery-item { position: relative; border-radius: 10px; overflow: hidden; height: 250px; } .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); } .gallery-item:hover img { transform: scale(1.1); } .gallery-item::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent); opacity: 0; transition: var(--transition); } .gallery-item:hover::after { opacity: 1; } /* Team Section */ .team { padding: 100px 5%; } .team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; margin-top: 50px; } .team-member { background-color: var(--gray); border-radius: 10px; overflow: hidden; transition: var(--transition); text-align: center; } .team-member:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); } .team-member img { width: 100%; height: 300px; object-fit: cover; } .team-member-info { padding: 20px; } .team-member-info h3 { font-size: 1.3rem; margin-bottom: 5px; color: var(--primary); } .team-member-info p { opacity: 0.8; margin-bottom: 15px; } .social-links { display: flex; justify-content: center; gap: 15px; } .social-links a { color: var(--light); width: 35px; height: 35px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background-color: rgba(255, 255, 255, 0.1); transition: var(--transition); } .social-links a:hover { background-color: var(--primary); color: var(--dark); } /* Contact Section */ .contact { padding: 100px 5%; background-color: rgba(0, 0, 0, 0.7); } .contact-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 50px; margin-top: 50px; } .contact-info { display: flex; flex-direction: column; gap: 30px; } .contact-card { display: flex; align-items: flex-start; gap: 15px; } .contact-card i { font-size: 1.5rem; color: var(--primary); } .contact-text h3 { font-size: 1.2rem; margin-bottom: 5px; color: var(--primary); } .contact-form { background-color: var(--gray); padding: 30px; border-radius: 10px; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 8px; font-weight: 500; } .form-group input, .form-group textarea { width: 100%; padding: 12px 15px; background-color: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 5px; color: var(--light); transition: var(--transition); } .form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--primary); background-color: rgba(255, 215, 0, 0.05); } .form-group textarea { min-height: 150px; resize: vertical; } /* Footer */ footer { background-color: var(--gray); padding: 50px 5% 20px; text-align: center; } .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; margin-bottom: 40px; text-align: left; } .footer-column h3 { color: var(--primary); margin-bottom: 20px; font-size: 1.2rem; } .footer-column ul { list-style: none; } .footer-column ul li { margin-bottom: 10px; } .footer-column ul li a { color: var(--light); text-decoration: none; opacity: 0.8; transition: var(--transition); } .footer-column ul li a:hover { opacity: 1; color: var(--primary); padding-left: 5px; } .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 20px; opacity: 0.7; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @keyframes float { 0% { transform: translateY(0); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0); } } @keyframes scaleIn { from { transform: scale(1); } to { transform: scale(1.1); } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* Responsive Design */ @media (max-width: 992px) { .hero h1 { font-size: 3rem; } .about { flex-direction: column; } .about-image { width: 100%; min-height: 400px; } } @media (max-width: 768px) { .menu-toggle { display: block; } .nav-links { position: fixed; top: 80px; left: -100%; width: 100%; height: calc(100vh - 80px); background-color: rgba(0, 0, 0, 0.95); flex-direction: column; align-items: center; justify-content: center; gap: 40px; transition: var(--transition); } .nav-links.active { left: 0; } .hero h1 { font-size: 2.5rem; } .hero-image { opacity: 0.3; right: 0; height: 70%; } .hero-content { max-width: 100%; } .btn-outline { margin-left: 0; margin-top: 15px; display: block; } } @media (max-width: 576px) { .hero h1 { font-size: 2rem; } .section-title h2 { font-size: 2rem; } .testimonial { padding: 20px; } }
JavaScript
// Mobile Menu Toggle const menuToggle = document.getElementById('menuToggle'); const navLinks = document.getElementById('navLinks'); menuToggle.addEventListener('click', () => { navLinks.classList.toggle('active'); menuToggle.innerHTML = navLinks.classList.contains('active') ? '<i class="fas fa-times"></i>' : '<i class="fas fa-bars"></i>'; }); // Close mobile menu when clicking a link document.querySelectorAll('.nav-links a').forEach(link => { link.addEventListener('click', () => { navLinks.classList.remove('active'); menuToggle.innerHTML = '<i class="fas fa-bars"></i>'; }); }); // Header scroll effect window.addEventListener('scroll', () => { const header = document.getElementById('header'); header.classList.toggle('scrolled', window.scrollY > 50); }); // Testimonial slider const testimonials = document.querySelectorAll('.testimonial'); const controls = document.querySelectorAll('.slider-control'); let currentTestimonial = 0; function showTestimonial(index) { testimonials.forEach(testimonial => testimonial.classList.remove('active')); controls.forEach(control => control.classList.remove('active')); testimonials[index].classList.add('active'); controls[index].classList.add('active'); currentTestimonial = index; } controls.forEach(control => { control.addEventListener('click', () => { const index = parseInt(control.getAttribute('data-index')); showTestimonial(index); }); }); // Auto-rotate testimonials setInterval(() => { currentTestimonial = (currentTestimonial + 1) % testimonials.length; showTestimonial(currentTestimonial); }, 5000); // Smooth scrolling for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function(e) { e.preventDefault(); const targetId = this.getAttribute('href'); const targetElement = document.querySelector(targetId); if (targetElement) { window.scrollTo({ top: targetElement.offsetTop - 80, behavior: 'smooth' }); } }); });
Output Preview
Desktop
Mobile
Fullscreen