Catering Landing Page Design
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"> <i class="fas fa-bars"></i> </div> <ul class="nav-links"> <li><a href="#hero">Home</a></li> <li><a href="#about">About</a></li> <li><a href="#services">Services</a></li> <li><a href="#menu">Menu</a></li> <li><a href="#testimonials">Testimonials</a></li> <li><a href="#gallery">Gallery</a></li> <li><a href="#team">Team</a></li> <li><a href="#contact">Contact</a></li> </ul> </header> <!-- Hero Section --> <section id="hero"> <div class="futuristic-circle circle-1"></div> <div class="futuristic-circle circle-2"></div> <div class="tech-line tech-line-1"></div> <div class="tech-line tech-line-2"></div> <div class="tech-line tech-line-3"></div> <div class="hero-content"> <h1>Futuristic Catering Solutions</h1> <p>Experience the future of culinary excellence with our innovative catering services. We blend cutting-edge technology with gourmet expertise to create unforgettable dining experiences.</p> <div class="hero-btns"> <a href="#contact" class="btn">Book Now</a> <a href="#menu" class="btn btn-secondary">View Menu</a> </div> </div> </section> <!-- About Section --> <section id="about"> <h2 class="section-title">About Us</h2> <div class="about-content"> <div class="about-text"> <p>Welcome to NovaCater, where we revolutionize the catering industry with futuristic approaches to food service. Established in 2020, we've been at the forefront of culinary innovation.</p> <p>Our team of expert chefs and food technologists combine traditional cooking methods with modern techniques to deliver exceptional flavors and presentations that wow your guests.</p> <p>We specialize in molecular gastronomy, sustainable food practices, and creating immersive dining experiences that engage all senses.</p> <a href="#services" class="btn">Our Services</a> </div> <div class="about-image"> <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="About NovaCater"> </div> </div> </section> <!-- Services Section --> <section id="services"> <h2 class="section-title">Our Services</h2> <div class="services-container"> <div class="service-card"> <div class="service-icon"> <i class="fas fa-robot"></i> </div> <h3>AI-Assisted Catering</h3> <p>Our AI systems analyze guest preferences and dietary needs to create perfectly customized menus for your event.</p> <a href="#" class="btn">Learn More</a> </div> <div class="service-card"> <div class="service-icon"> <i class="fas fa-atom"></i> </div> <h3>Molecular Gastronomy</h3> <p>Experience the future of food with our innovative molecular cuisine that transforms textures and flavors.</p> <a href="#" class="btn">Learn More</a> </div> <div class="service-card"> <div class="service-icon"> <i class="fas fa-leaf"></i> </div> <h3>Sustainable Catering</h3> <p>Eco-friendly solutions with zero-waste practices and locally-sourced, organic ingredients.</p> <a href="#" class="btn">Learn More</a> </div> </div> </section> <!-- Menu Section --> <section id="menu"> <h2 class="section-title">Our Menu</h2> <div class="menu-tabs"> <button class="menu-tab active" data-category="all">All</button> <button class="menu-tab" data-category="molecular">Molecular</button> <button class="menu-tab" data-category="fusion">Fusion</button> <button class="menu-tab" data-category="vegan">Vegan</button> </div> <div class="menu-items"> <div class="menu-item" data-category="molecular"> <div class="menu-item-img"> <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="Spherical Olives"> </div> <div class="menu-item-content"> <h3>Spherical Olives</h3> <span class="price">$12</span> <p>Liquid olives transformed into perfect spheres with a burst of flavor.</p> </div> </div> <div class="menu-item" data-category="fusion"> <div class="menu-item-img"> <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="Sushi Burger"> </div> <div class="menu-item-content"> <h3>Sushi Burger</h3> <span class="price">$18</span> <p>East meets West in this innovative fusion of sushi and burgers.</p> </div> </div> <div class="menu-item" data-category="vegan"> <div class="menu-item-img"> <img src="https://images.unsplash.com/photo-1546069901-ba9599a7e63c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1480&q=80" alt="Vegan Steak"> </div> <div class="menu-item-content"> <h3>Vegan Steak</h3> <span class="price">$22</span> <p>Plant-based steak with the texture and flavor of premium beef.</p> </div> </div> </div> </section> <!-- Testimonials Section --> <section id="testimonials"> <h2 class="section-title">Client Testimonials</h2> <div class="testimonials-container"> <div class="testimonial-slide"> <div class="testimonial-avatar"> <img src="https://randomuser.me/api/portraits/women/32.jpg" alt="Sarah Johnson"> </div> <p class="testimonial-text">"NovaCater transformed our corporate event into a futuristic dining experience. The molecular cocktails were the talk of the evening!"</p> <h4 class="testimonial-author">Sarah Johnson</h4> <p class="testimonial-role">CEO, Tech Innovations</p> </div> </div> </section> <!-- Gallery Section --> <section id="gallery"> <h2 class="section-title">Our Gallery</h2> <div class="gallery-container"> <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="Catering Event"> </div> <div class="gallery-item"> <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="Restaurant"> </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="Chef Preparing Food"> </div> <div class="gallery-item"> <img src="https://images.unsplash.com/photo-1565557623262-b51c2513a641?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1371&q=80" alt="Food Presentation"> </div> </div> </section> <!-- Team Section --> <section id="team"> <h2 class="section-title">Our Team</h2> <div class="team-container"> <div class="team-member"> <div class="team-member-img"> <img src="https://randomuser.me/api/portraits/men/42.jpg" alt="Chef Marco"> </div> <div class="team-member-info"> <h3>Chef Marco</h3> <p>Head of Molecular Gastronomy</p> <div class="team-social"> <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"> <div class="team-member-img"> <img src="https://randomuser.me/api/portraits/women/63.jpg" alt="Dr. Elena"> </div> <div class="team-member-info"> <h3>Dr. Elena</h3> <p>Food Scientist</p> <div class="team-social"> <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"> <div class="team-member-img"> <img src="https://randomuser.me/api/portraits/men/75.jpg" alt="AI Specialist Raj"> </div> <div class="team-member-info"> <h3>AI Specialist Raj</h3> <p>Technology Integration</p> <div class="team-social"> <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 id="contact"> <h2 class="section-title">Contact Us</h2> <div class="contact-container"> <div class="contact-info"> <div class="contact-item"> <div class="contact-icon"> <i class="fas fa-map-marker-alt"></i> </div> <div class="contact-text"> <h3>Location</h3> <p>123 Future Street, Tech District, NY 10001</p> </div> </div> <div class="contact-item"> <div class="contact-icon"> <i class="fas fa-phone-alt"></i> </div> <div class="contact-text"> <h3>Phone</h3> <a href="tel:+11234567890">+1 (123) 456-7890</a> </div> </div> <div class="contact-item"> <div class="contact-icon"> <i class="fas fa-envelope"></i> </div> <div class="contact-text"> <h3>Email</h3> <a href="mailto:info@novacater.com">info@novacater.com</a> </div> </div> <div class="contact-item"> <div class="contact-icon"> <i class="fas fa-clock"></i> </div> <div class="contact-text"> <h3>Working Hours</h3> <p>Monday - Friday: 9AM - 9PM</p> <p>Saturday - Sunday: 10AM - 11PM</p> </div> </div> </div> <div class="contact-form"> <form> <div class="form-group"> <label for="name">Name</label> <input type="text" id="name" placeholder="Your Name" required> </div> <div class="form-group"> <label for="email">Email</label> <input type="email" id="email" placeholder="Your Email" required> </div> <div class="form-group"> <label for="subject">Subject</label> <input type="text" id="subject" placeholder="Subject"> </div> <div class="form-group"> <label for="message">Message</label> <textarea id="message" placeholder="Your Message" required></textarea> </div> <button type="submit" class="btn">Send Message</button> </form> </div> </div> </section> <!-- Footer --> <footer> <div class="footer-content"> <a href="#" class="footer-logo"><i class="fas fa-utensils"></i> NovaCater</a> <ul class="footer-links"> <li><a href="#hero">Home</a></li> <li><a href="#about">About</a></li> <li><a href="#services">Services</a></li> <li><a href="#menu">Menu</a></li> <li><a href="#testimonials">Testimonials</a></li> <li><a href="#gallery">Gallery</a></li> <li><a href="#team">Team</a></li> <li><a href="#contact">Contact</a></li> </ul> <div class="footer-social"> <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> <p class="copyright">© 2023 NovaCater. All Rights Reserved.</p> </div> </footer> </body> </html>
CSS
:root { --primary: #FFD700; --primary-dark: #FFC000; --primary-light: #FFF200; --dark: #111; --light: #f8f8f8; --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; } section { padding: 5rem 10%; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; } .section-title { font-size: 3rem; margin-bottom: 2rem; color: var(--primary); position: relative; display: inline-block; text-transform: uppercase; letter-spacing: 3px; } .section-title::after { content: ''; position: absolute; bottom: -10px; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--primary), transparent); border-radius: 2px; } .btn { display: inline-block; padding: 0.8rem 2rem; background: var(--primary); color: var(--dark); border: none; border-radius: 50px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: var(--transition); text-decoration: none; position: relative; overflow: hidden; z-index: 1; } .btn:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(255, 215, 0, 0.3); } .btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: 0.5s; z-index: -1; } .btn:hover::before { left: 100%; } /* Header */ header { position: fixed; top: 0; left: 0; width: 100%; padding: 1.5rem 10%; display: flex; justify-content: space-between; align-items: center; z-index: 1000; transition: var(--transition); background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(10px); } header.scrolled { padding: 1rem 10%; background: rgba(17, 17, 17, 0.95); box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); } .logo { font-size: 1.8rem; font-weight: 700; color: var(--primary); text-decoration: none; display: flex; align-items: center; } .logo i { margin-right: 0.5rem; font-size: 2rem; } .nav-links { display: flex; list-style: none; } .nav-links li { margin-left: 2rem; } .nav-links a { color: var(--light); text-decoration: none; font-weight: 500; transition: var(--transition); position: relative; } .nav-links a::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: var(--primary); transition: var(--transition); } .nav-links a:hover::after { width: 100%; } .nav-links a:hover { color: var(--primary); } .menu-toggle { display: none; cursor: pointer; font-size: 1.5rem; color: var(--light); } /* Hero Section */ #hero { background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('https://images.unsplash.com/photo-1555244162-803834f70033?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80') no-repeat center center/cover; text-align: center; justify-content: center; } .hero-content { max-width: 800px; margin: 0 auto; animation: fadeInUp 1s ease-out; } .hero-content h1 { font-size: 4rem; margin-bottom: 1rem; color: var(--primary); text-transform: uppercase; letter-spacing: 5px; } .hero-content p { font-size: 1.2rem; margin-bottom: 2rem; line-height: 1.6; } .hero-btns { display: flex; justify-content: center; gap: 1rem; } .hero-btns .btn-secondary { background: transparent; color: var(--primary); border: 2px solid var(--primary); } .hero-btns .btn-secondary:hover { background: var(--primary); color: var(--dark); } /* About Section */ #about { background-color: var(--gray); } .about-content { display: flex; align-items: center; gap: 3rem; } .about-text { flex: 1; } .about-text h2 { margin-bottom: 1.5rem; } .about-text p { margin-bottom: 1.5rem; line-height: 1.6; } .about-image { flex: 1; position: relative; height: 400px; border-radius: 10px; overflow: hidden; box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3); } .about-image img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); } .about-image:hover img { transform: scale(1.05); } /* Services Section */ #services { background-color: var(--dark); } .services-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 3rem; } .service-card { background: rgba(255, 255, 255, 0.05); border-radius: 10px; padding: 2rem; transition: var(--transition); border: 1px solid rgba(255, 215, 0, 0.1); backdrop-filter: blur(5px); position: relative; overflow: hidden; z-index: 1; } .service-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 215, 0, 0.1), transparent); z-index: -1; } .service-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(255, 215, 0, 0.1); border-color: rgba(255, 215, 0, 0.3); } .service-icon { font-size: 3rem; color: var(--primary); margin-bottom: 1.5rem; } .service-card h3 { font-size: 1.5rem; margin-bottom: 1rem; color: var(--primary); } .service-card p { line-height: 1.6; margin-bottom: 1.5rem; } /* Menu Section */ #menu { background-color: var(--gray); } .menu-tabs { display: flex; justify-content: center; margin-bottom: 3rem; flex-wrap: wrap; gap: 1rem; } .menu-tab { padding: 0.8rem 2rem; background: transparent; color: var(--light); border: 2px solid var(--primary); border-radius: 50px; font-weight: 600; cursor: pointer; transition: var(--transition); } .menu-tab.active { background: var(--primary); color: var(--dark); } .menu-tab:hover { background: var(--primary); color: var(--dark); } .menu-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; } .menu-item { background: rgba(0, 0, 0, 0.3); border-radius: 10px; overflow: hidden; transition: var(--transition); border: 1px solid rgba(255, 215, 0, 0.1); } .menu-item:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); border-color: rgba(255, 215, 0, 0.3); } .menu-item-img { height: 200px; overflow: hidden; } .menu-item-img img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); } .menu-item:hover .menu-item-img img { transform: scale(1.1); } .menu-item-content { padding: 1.5rem; } .menu-item-content h3 { font-size: 1.3rem; margin-bottom: 0.5rem; color: var(--primary); } .menu-item-content .price { font-size: 1.2rem; font-weight: 700; color: var(--primary); margin-bottom: 1rem; display: block; } .menu-item-content p { line-height: 1.6; margin-bottom: 1rem; } /* Testimonials Section */ #testimonials { background-color: var(--dark); } .testimonials-container { max-width: 1000px; margin: 0 auto; position: relative; } .testimonial-slide { background: rgba(255, 255, 255, 0.05); border-radius: 10px; padding: 2rem; margin: 0 1rem; text-align: center; border: 1px solid rgba(255, 215, 0, 0.1); } .testimonial-avatar { width: 80px; height: 80px; border-radius: 50%; overflow: hidden; margin: 0 auto 1rem; border: 3px solid var(--primary); } .testimonial-avatar img { width: 100%; height: 100%; object-fit: cover; } .testimonial-text { font-style: italic; line-height: 1.6; margin-bottom: 1.5rem; } .testimonial-author { font-weight: 700; color: var(--primary); } .testimonial-role { font-size: 0.9rem; color: #aaa; } /* Gallery Section */ #gallery { background-color: var(--gray); } .gallery-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; margin-top: 3rem; } .gallery-item { height: 250px; overflow: hidden; border-radius: 5px; position: relative; cursor: pointer; } .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: rgba(0, 0, 0, 0.5); opacity: 0; transition: var(--transition); } .gallery-item:hover::after { opacity: 1; } /* Team Section */ #team { background-color: var(--dark); } .team-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-top: 3rem; } .team-member { background: rgba(255, 255, 255, 0.05); border-radius: 10px; overflow: hidden; transition: var(--transition); text-align: center; border: 1px solid rgba(255, 215, 0, 0.1); } .team-member:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(255, 215, 0, 0.1); border-color: rgba(255, 215, 0, 0.3); } .team-member-img { height: 300px; overflow: hidden; } .team-member-img img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); } .team-member:hover .team-member-img img { transform: scale(1.1); } .team-member-info { padding: 1.5rem; } .team-member-info h3 { font-size: 1.3rem; margin-bottom: 0.5rem; color: var(--primary); } .team-member-info p { color: #aaa; margin-bottom: 1rem; } .team-social { display: flex; justify-content: center; gap: 1rem; } .team-social a { color: var(--light); width: 35px; height: 35px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.1); transition: var(--transition); } .team-social a:hover { background: var(--primary); color: var(--dark); transform: translateY(-3px); } /* Contact Section */ #contact { background-color: var(--gray); } .contact-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 3rem; margin-top: 3rem; } .contact-info { display: flex; flex-direction: column; gap: 1.5rem; } .contact-item { display: flex; align-items: flex-start; gap: 1rem; } .contact-icon { font-size: 1.5rem; color: var(--primary); margin-top: 0.3rem; } .contact-text h3 { font-size: 1.2rem; margin-bottom: 0.3rem; color: var(--primary); } .contact-text p, .contact-text a { color: var(--light); text-decoration: none; transition: var(--transition); } .contact-text a:hover { color: var(--primary); } .contact-form { background: rgba(0, 0, 0, 0.3); padding: 2rem; border-radius: 10px; border: 1px solid rgba(255, 215, 0, 0.1); } .form-group { margin-bottom: 1.5rem; } .form-group label { display: block; margin-bottom: 0.5rem; color: var(--primary); } .form-group input, .form-group textarea { width: 100%; padding: 0.8rem; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 5px; color: var(--light); transition: var(--transition); } .form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--primary); background: rgba(255, 215, 0, 0.05); } .form-group textarea { resize: vertical; min-height: 150px; } /* Footer */ footer { background-color: #000; padding: 3rem 10%; text-align: center; } .footer-content { display: flex; flex-direction: column; align-items: center; gap: 2rem; } .footer-logo { font-size: 2rem; font-weight: 700; color: var(--primary); text-decoration: none; display: flex; align-items: center; } .footer-logo i { margin-right: 0.5rem; } .footer-links { display: flex; list-style: none; gap: 2rem; flex-wrap: wrap; justify-content: center; } .footer-links a { color: var(--light); text-decoration: none; transition: var(--transition); } .footer-links a:hover { color: var(--primary); } .footer-social { display: flex; gap: 1.5rem; } .footer-social a { color: var(--light); font-size: 1.5rem; transition: var(--transition); } .footer-social a:hover { color: var(--primary); transform: translateY(-3px); } .copyright { margin-top: 2rem; color: #aaa; font-size: 0.9rem; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } } .floating { animation: float 3s ease-in-out infinite; } /* Futuristic Elements */ .futuristic-circle { position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(255, 215, 0, 0.1), transparent 70%); z-index: -1; } .circle-1 { width: 500px; height: 500px; top: -250px; right: -250px; } .circle-2 { width: 300px; height: 300px; bottom: -150px; left: -150px; } .tech-line { position: absolute; background: linear-gradient(90deg, transparent, var(--primary), transparent); height: 1px; width: 100%; opacity: 0.1; z-index: -1; } .tech-line-1 { top: 20%; transform: rotate(-5deg); } .tech-line-2 { top: 50%; transform: rotate(3deg); } .tech-line-3 { top: 80%; transform: rotate(-2deg); } /* Responsive Styles */ @media (max-width: 1200px) { section { padding: 5rem 7%; } } @media (max-width: 992px) { section { padding: 5rem 5%; } .hero-content h1 { font-size: 3.5rem; } .about-content { flex-direction: column; } .about-image { width: 100%; } } @media (max-width: 768px) { .menu-toggle { display: block; } .nav-links { position: fixed; top: 80px; left: -100%; width: 100%; height: calc(100vh - 80px); background: rgba(17, 17, 17, 0.95); flex-direction: column; align-items: center; justify-content: center; gap: 2rem; transition: var(--transition); } .nav-links.active { left: 0; } .nav-links li { margin-left: 0; } .hero-content h1 { font-size: 3rem; } .hero-btns { flex-direction: column; gap: 1rem; } .btn { width: 100%; } } @media (max-width: 576px) { section { padding: 5rem 2rem; } .section-title { font-size: 2.5rem; } .hero-content h1 { font-size: 2.5rem; } .contact-container { grid-template-columns: 1fr; } }
JavaScript
// Mobile Menu Toggle const menuToggle = document.querySelector('.menu-toggle'); const navLinks = document.querySelector('.nav-links'); 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); }); // Menu tab functionality const menuTabs = document.querySelectorAll('.menu-tab'); const menuItems = document.querySelectorAll('.menu-item'); menuTabs.forEach(tab => { tab.addEventListener('click', () => { // Remove active class from all tabs menuTabs.forEach(t => t.classList.remove('active')); // Add active class to clicked tab tab.classList.add('active'); const category = tab.dataset.category; // Filter menu items menuItems.forEach(item => { if (category === 'all' || item.dataset.category === category) { item.style.display = 'block'; } else { item.style.display = 'none'; } }); }); }); // Animate elements when scrolling const animateOnScroll = () => { const elements = document.querySelectorAll('.service-card, .menu-item, .team-member'); elements.forEach(element => { const elementPosition = element.getBoundingClientRect().top; const screenPosition = window.innerHeight / 1.3; if (elementPosition < screenPosition) { element.style.opacity = '1'; element.style.transform = 'translateY(0)'; } }); }; // Set initial state for animation document.querySelectorAll('.service-card, .menu-item, .team-member').forEach(el => { el.style.opacity = '0'; el.style.transform = 'translateY(50px)'; el.style.transition = 'all 0.5s ease-out'; }); window.addEventListener('scroll', animateOnScroll); window.addEventListener('load', animateOnScroll);
Output Preview
Desktop
Mobile
Fullscreen