Bike Components 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>GearShift | Premium Bike Components</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700;900&display=swap" rel="stylesheet"> <link rel="stylesheet" href="styles.css"> </head> <body> <!-- Header/Navigation --> <header id="header"> <div class="container"> <nav> <a href="#" class="logo"><i class="fas fa-cogs"></i> GearShift</a> <div class="menu-toggle" id="mobile-menu"> <i class="fas fa-bars"></i> </div> <ul class="nav-links" id="nav-links"> <li><a href="#home">Home</a></li> <li><a href="#about">About</a></li> <li><a href="#features">Features</a></li> <li><a href="#products">Products</a></li> <li><a href="#testimonials">Testimonials</a></li> <li><a href="#contact">Contact</a></li> </ul> </nav> </div> </header> <!-- Hero Section --> <section class="hero" id="home"> <div class="container"> <div class="hero-content"> <h1>Precision Bike Components</h1> <p>Manufacturing high-performance bicycle parts for professional cyclists and enthusiasts since 1995. Our components are engineered for speed, durability, and reliability.</p> <div class="btn-group"> <a href="#products" class="btn">View Products</a> <a href="#contact" class="btn btn-outline">Contact Us</a> </div> </div> </div> </section> <!-- About Section --> <section class="section" id="about"> <div class="container"> <div class="section-title"> <h2>About Us</h2> <p>With over 25 years of experience in the cycling industry, GearShift has established itself as a leader in innovative bike component manufacturing.</p> </div> <div class="about-content"> <div class="about-text" id="about-text"> <h3>Crafting the Future of Cycling</h3> <p>Founded in 1995 by professional cyclist Mark Johnson, GearShift began as a small workshop dedicated to creating better components for competitive racing. Today, we supply parts to over 50 professional teams worldwide.</p> <p>Our state-of-the-art manufacturing facility combines cutting-edge technology with hand-finishing techniques to produce components that meet the highest standards of performance and reliability.</p> <p>Every GearShift part undergoes rigorous testing in our in-house lab before reaching the market, ensuring they can withstand the demands of professional competition and everyday riding alike.</p> <a href="#features" class="btn">Our Technology</a> </div> <div class="about-image" id="about-image"></div> </div> </div> </section> <!-- Features Section --> <section class="section features" id="features"> <div class="container"> <div class="section-title"> <h2>Why Choose GearShift</h2> <p>Our commitment to innovation and quality sets us apart in the cycling components industry.</p> </div> <div class="features-grid"> <div class="feature-card" id="feature1"> <div class="feature-icon"> <i class="fas fa-tachometer-alt"></i> </div> <h3>Performance</h3> <p>Engineered for maximum speed and efficiency with wind-tunnel tested designs that reduce drag by up to 30%.</p> </div> <div class="feature-card" id="feature2"> <div class="feature-icon"> <i class="fas fa-shield-alt"></i> </div> <h3>Durability</h3> <p>Constructed from aerospace-grade materials that withstand extreme conditions while maintaining lightweight properties.</p> </div> <div class="feature-card" id="feature3"> <div class="feature-icon"> <i class="fas fa-cogs"></i> </div> <h3>Precision</h3> <p>Manufactured to tolerances of ±0.01mm for perfect fit and seamless integration with all major bike systems.</p> </div> <div class="feature-card" id="feature4"> <div class="feature-icon"> <i class="fas fa-leaf"></i> </div> <h3>Sustainability</h3> <p>Eco-friendly production processes and 95% recyclable materials with a carbon-neutral supply chain.</p> </div> </div> </div> </section> <!-- Products Section --> <section class="section" id="products"> <div class="container"> <div class="section-title"> <h2>Our Products</h2> <p>Explore our range of high-performance bicycle components designed for professionals and enthusiasts alike.</p> </div> <div class="products-grid"> <div class="product-card" id="product1"> <div class="product-image" style="background-image: url('https://images.unsplash.com/photo-1485965120184-e220f721d03e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80');"></div> <div class="product-info"> <h3>Carbon Fiber Crankset</h3> <p>Ultra-lightweight 1-piece carbon fiber crankset with titanium spindle for maximum power transfer.</p> <span class="product-price">$349.99</span> <a href="#contact" class="btn">Inquire</a> </div> </div> <div class="product-card" id="product2"> <div class="product-image" style="background-image: url('https://images.unsplash.com/photo-1507035895480-2b3156c31fc8?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80');"></div> <div class="product-info"> <h3>Aero Wheelset</h3> <p>60mm deep-section carbon wheels with ceramic bearings and patented aero spoke design.</p> <span class="product-price">$1,299.99</span> <a href="#contact" class="btn">Inquire</a> </div> </div> <div class="product-card" id="product3"> <div class="product-image" style="background-image: url('https://images.unsplash.com/photo-1511994298241-608e28f14fde?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80');"></div> <div class="product-info"> <h3>Precision Derailleur</h3> <p>12-speed electronic derailleur with instant shifting and automatic chain alignment.</p> <span class="product-price">$499.99</span> <a href="#contact" class="btn">Inquire</a> </div> </div> <div class="product-card" id="product4"> <div class="product-image" style="background-image: url('https://images.unsplash.com/photo-1532298229144-0ec0c57515c7?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1022&q=80');"></div> <div class="product-info"> <h3>Hydraulic Disc Brakes</h3> <p>4-piston hydraulic brakes with heat-dissipating rotors for consistent stopping power.</p> <span class="product-price">$279.99</span> <a href="#contact" class="btn">Inquire</a> </div> </div> </div> </div> </section> <!-- Testimonials Section --> <section class="section testimonials" id="testimonials"> <div class="container"> <div class="section-title"> <h2>What Our Clients Say</h2> <p>Professional cyclists and teams trust GearShift components for their most important races.</p> </div> <div class="testimonials-slider"> <div class="testimonial-slide active"> <div class="testimonial-avatar" style="background-image: url('https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80');"></div> <p class="testimonial-text">"GearShift cranksets have given me the edge in sprint finishes. The power transfer is incredible and after 2 seasons of hard racing, they still perform like new."</p> <p class="testimonial-author">Chris Thompson</p> <p class="testimonial-role">Professional Cyclist, Team Velocity</p> </div> <div class="testimonial-slide"> <div class="testimonial-avatar" style="background-image: url('https://images.unsplash.com/photo-1438761681033-6461ffad8d80?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80');"></div> <p class="testimonial-text">"As a team manager, reliability is everything. GearShift components have the lowest failure rate we've ever experienced, which means fewer mechanicals during races."</p> <p class="testimonial-author">Sarah Johnson</p> <p class="testimonial-role">Team Director, Alpine Racing</p> </div> <div class="testimonial-slide"> <div class="testimonial-avatar" style="background-image: url('https://images.unsplash.com/photo-1544725176-7c40e5a71c5e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1467&q=80');"></div> <p class="testimonial-text">"The aero wheels from GearShift shaved 45 seconds off my 40k TT time compared to my previous setup. That's the difference between podium and middle of the pack."</p> <p class="testimonial-author">Marcus Chen</p> <p class="testimonial-role">Time Trial Specialist</p> </div> </div> <div class="slider-controls"> <div class="slider-dot active" data-slide="0"></div> <div class="slider-dot" data-slide="1"></div> <div class="slider-dot" data-slide="2"></div> </div> </div> </section> <!-- Stats Section --> <section class="section stats"> <div class="container"> <div class="section-title"> <h2>By The Numbers</h2> <p>Our impact on the cycling world speaks for itself.</p> </div> <div class="stats-grid"> <div class="stat-item" id="stat1"> <div class="stat-number" data-count="25">0</div> <div class="stat-label">Years Experience</div> </div> <div class="stat-item" id="stat2"> <div class="stat-number" data-count="52">0</div> <div class="stat-label">Pro Teams</div> </div> <div class="stat-item" id="stat3"> <div class="stat-number" data-count="143">0</div> <div class="stat-label">Race Wins</div> </div> <div class="stat-item" id="stat4"> <div class="stat-number" data-count="98">0</div> <div class="stat-label">Patents</div> </div> </div> </div> </section> <!-- Contact Section --> <section class="section" id="contact"> <div class="container"> <div class="section-title"> <h2>Get In Touch</h2> <p>Have questions about our products or interested in becoming a dealer? Contact us today.</p> </div> <div class="contact-content"> <div class="contact-info"> <h3>Let's Build Something Together</h3> <p>Our team is ready to assist you with technical questions, custom orders, or dealer inquiries. We typically respond within 24 hours.</p> <div class="contact-details"> <div class="contact-detail"> <i class="fas fa-map-marker-alt"></i> <div> <strong>Headquarters</strong><br> 123 Gear Street, Boulder, CO 80301 </div> </div> <div class="contact-detail"> <i class="fas fa-phone-alt"></i> <div> <strong>Phone</strong><br> +1 (800) 555-9876 </div> </div> <div class="contact-detail"> <i class="fas fa-envelope"></i> <div> <strong>Email</strong><br> info@gearshiftcomponents.com </div> </div> </div> <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> <a href="#"><i class="fab fa-youtube"></i></a> </div> </div> <div class="contact-form"> <form id="contactForm"> <div class="form-group"> <label for="name">Your Name</label> <input type="text" id="name" name="name" required> </div> <div class="form-group"> <label for="email">Email Address</label> <input type="email" id="email" name="email" required> </div> <div class="form-group"> <label for="subject">Subject</label> <input type="text" id="subject" name="subject" required> </div> <div class="form-group"> <label for="message">Your Message</label> <textarea id="message" name="message" required></textarea> </div> <button type="submit" class="btn">Send Message</button> </form> </div> </div> </div> </section> <!-- Footer --> <footer> <div class="container"> <div class="footer-content"> <div class="footer-column"> <h3>About GearShift</h3> <p>Manufacturing high-performance bicycle components since 1995. Our parts are trusted by professional cyclists worldwide.</p> <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> </div> </div> <div class="footer-column"> <h3>Quick Links</h3> <ul class="footer-links"> <li><a href="#home">Home</a></li> <li><a href="#about">About Us</a></li> <li><a href="#features">Technology</a></li> <li><a href="#products">Products</a></li> <li><a href="#testimonials">Testimonials</a></li> <li><a href="#contact">Contact</a></li> </ul> </div> <div class="footer-column"> <h3>Products</h3> <ul class="footer-links"> <li><a href="#">Drivetrain</a></li> <li><a href="#">Wheels</a></li> <li><a href="#">Brakes</a></li> <li><a href="#">Handlebars</a></li> <li><a href="#">Pedals</a></li> <li><a href="#">Accessories</a></li> </ul> </div> <div class="footer-column"> <h3>Newsletter</h3> <p>Subscribe to get updates on new products and special offers.</p> <form class="newsletter-form"> <div class="form-group"> <input type="email" placeholder="Your Email" required> <button type="submit"><i class="fas fa-paper-plane"></i></button> </div> </form> </div> </div> <div class="footer-bottom"> <p>© 2023 GearShift Bike Components. All Rights Reserved.</p> </div> </div> </footer> <script src="script.js"></script> </body> </html>
CSS
:root { --primary: #ff5e14; --secondary: #222222; --light: #f8f9fa; --dark: #1e1e1e; --text: #444444; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Montserrat', sans-serif; color: var(--text); overflow-x: hidden; background-color: var(--light); } /* Header/Navigation */ header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; transition: all 0.3s ease; padding: 20px 0; } header.scrolled { background-color: rgba(255, 255, 255, 0.95); box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1); padding: 10px 0; } .container { width: 90%; max-width: 1200px; margin: 0 auto; } nav { display: flex; justify-content: space-between; align-items: center; } .logo { font-size: 28px; font-weight: 900; color: var(--primary); text-decoration: none; display: flex; align-items: center; } .logo i { margin-right: 10px; font-size: 32px; } .nav-links { display: flex; list-style: none; } .nav-links li { margin-left: 30px; } .nav-links a { color: var(--secondary); text-decoration: none; font-weight: 600; font-size: 16px; transition: all 0.3s ease; position: relative; } .nav-links a:hover { color: var(--primary); } .nav-links a:after { content: ''; position: absolute; width: 0; height: 2px; background: var(--primary); bottom: -5px; left: 0; transition: width 0.3s ease; } .nav-links a:hover:after { width: 100%; } .menu-toggle { display: none; cursor: pointer; font-size: 24px; } /* Hero Section */ .hero { height: 100vh; background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('https://images.unsplash.com/photo-1485965120184-e220f721d03e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80'); background-size: cover; background-position: center; display: flex; align-items: center; color: white; text-align: center; position: relative; overflow: hidden; } .hero-content { width: 100%; transform: translateY(50px); opacity: 0; animation: fadeInUp 1s ease forwards 0.5s; } .hero h1 { font-size: 4rem; margin-bottom: 20px; text-transform: uppercase; font-weight: 900; } .hero p { font-size: 1.2rem; margin-bottom: 30px; max-width: 700px; margin-left: auto; margin-right: auto; } .btn { display: inline-block; padding: 15px 30px; background-color: var(--primary); color: white; text-decoration: none; border-radius: 50px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; border: 2px solid var(--primary); } .btn:hover { background-color: transparent; color: var(--primary); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); } .btn-outline { background-color: transparent; color: white; border: 2px solid white; margin-left: 15px; } .btn-outline:hover { background-color: white; color: var(--primary); } /* About Section */ .section { padding: 100px 0; } .section-title { text-align: center; margin-bottom: 60px; position: relative; } .section-title h2 { font-size: 2.5rem; color: var(--secondary); text-transform: uppercase; font-weight: 900; margin-bottom: 20px; position: relative; display: inline-block; } .section-title h2:after { content: ''; position: absolute; width: 50px; height: 3px; background-color: var(--primary); bottom: -10px; left: 50%; transform: translateX(-50%); } .section-title p { max-width: 700px; margin: 0 auto; font-size: 1.1rem; line-height: 1.6; } .about-content { display: flex; align-items: center; flex-wrap: wrap; } .about-text { flex: 1; min-width: 300px; padding-right: 50px; transform: translateX(-50px); opacity: 0; transition: all 1s ease; } .about-text.animated { transform: translateX(0); opacity: 1; } .about-text h3 { font-size: 1.8rem; color: var(--secondary); margin-bottom: 20px; } .about-text p { margin-bottom: 20px; line-height: 1.6; } .about-image { flex: 1; min-width: 300px; height: 500px; background: url('https://images.unsplash.com/photo-1511994298241-608e28f14fde?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80'); background-size: cover; background-position: center; border-radius: 10px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); transform: translateX(50px); opacity: 0; transition: all 1s ease; } .about-image.animated { transform: translateX(0); opacity: 1; } /* Features Section */ .features { background-color: var(--secondary); color: white; } .features .section-title h2 { color: white; } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; } .feature-card { background-color: rgba(255, 255, 255, 0.1); padding: 40px 30px; border-radius: 10px; text-align: center; transition: all 0.3s ease; transform: translateY(50px); opacity: 0; } .feature-card.animated { transform: translateY(0); opacity: 1; } .feature-card:hover { background-color: var(--primary); transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); } .feature-icon { font-size: 50px; margin-bottom: 20px; color: var(--primary); } .feature-card:hover .feature-icon { color: white; } .feature-card h3 { font-size: 1.5rem; margin-bottom: 15px; } /* Products Section */ .products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; } .product-card { background-color: white; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; transform: scale(0.9); opacity: 0; } .product-card.animated { transform: scale(1); opacity: 1; } .product-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2); } .product-image { height: 200px; background-size: cover; background-position: center; } .product-info { padding: 20px; } .product-info h3 { font-size: 1.3rem; margin-bottom: 10px; color: var(--secondary); } .product-info p { margin-bottom: 15px; line-height: 1.5; } .product-price { font-size: 1.2rem; font-weight: 700; color: var(--primary); margin-bottom: 15px; display: block; } /* Testimonials Section */ .testimonials { background-color: #f5f5f5; } .testimonials-slider { max-width: 800px; margin: 0 auto; position: relative; overflow: hidden; } .testimonial-slide { text-align: center; padding: 30px; display: none; animation: fadeIn 1s ease; } .testimonial-slide.active { display: block; } .testimonial-avatar { width: 100px; height: 100px; border-radius: 50%; margin: 0 auto 20px; background-size: cover; background-position: center; border: 5px solid var(--primary); } .testimonial-text { font-size: 1.1rem; font-style: italic; margin-bottom: 20px; line-height: 1.6; } .testimonial-author { font-weight: 700; color: var(--secondary); } .testimonial-role { color: var(--primary); font-size: 0.9rem; } .slider-controls { display: flex; justify-content: center; margin-top: 30px; } .slider-dot { width: 12px; height: 12px; background-color: #ccc; border-radius: 50%; margin: 0 5px; cursor: pointer; transition: all 0.3s ease; } .slider-dot.active { background-color: var(--primary); transform: scale(1.2); } /* Stats Section */ .stats { background: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('https://images.unsplash.com/photo-1532298229144-0ec0c57515c7?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1022&q=80'); background-size: cover; background-position: center; background-attachment: fixed; color: white; text-align: center; } .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; } .stat-item { padding: 30px; transform: translateY(50px); opacity: 0; } .stat-item.animated { transform: translateY(0); opacity: 1; } .stat-number { font-size: 3rem; font-weight: 900; margin-bottom: 10px; color: var(--primary); } .stat-label { font-size: 1.2rem; text-transform: uppercase; letter-spacing: 1px; } /* Contact Section */ .contact-content { display: flex; flex-wrap: wrap; gap: 30px; } .contact-info { flex: 1; min-width: 300px; } .contact-info h3 { font-size: 1.8rem; color: var(--secondary); margin-bottom: 20px; } .contact-info p { margin-bottom: 30px; line-height: 1.6; } .contact-details { margin-bottom: 30px; } .contact-detail { display: flex; align-items: center; margin-bottom: 15px; } .contact-detail i { width: 50px; height: 50px; background-color: var(--primary); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-right: 15px; } .contact-form { flex: 1; min-width: 300px; background-color: white; padding: 40px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 8px; font-weight: 600; } .form-group input, .form-group textarea { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 5px; font-family: 'Montserrat', sans-serif; transition: all 0.3s ease; } .form-group input:focus, .form-group textarea:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px rgba(255, 94, 20, 0.2); } .form-group textarea { min-height: 150px; resize: vertical; } /* Footer */ footer { background-color: var(--secondary); color: white; padding: 60px 0 20px; } .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; margin-bottom: 40px; } .footer-column h3 { font-size: 1.3rem; margin-bottom: 20px; position: relative; padding-bottom: 10px; } .footer-column h3:after { content: ''; position: absolute; width: 40px; height: 2px; background-color: var(--primary); bottom: 0; left: 0; } .footer-column p { margin-bottom: 15px; line-height: 1.6; } .footer-links { list-style: none; } .footer-links li { margin-bottom: 10px; } .footer-links a { color: #ccc; text-decoration: none; transition: all 0.3s ease; } .footer-links a:hover { color: var(--primary); padding-left: 5px; } .social-links { display: flex; gap: 15px; } .social-links a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background-color: rgba(255, 255, 255, 0.1); border-radius: 50%; color: white; transition: all 0.3s ease; } .social-links a:hover { background-color: var(--primary); transform: translateY(-3px); } .footer-bottom { text-align: center; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* Responsive Styles */ @media (max-width: 992px) { .hero h1 { font-size: 3rem; } .about-text { padding-right: 0; margin-bottom: 40px; } .about-image { 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: white; flex-direction: column; align-items: center; justify-content: center; transition: all 0.3s ease; } .nav-links.active { left: 0; } .nav-links li { margin: 15px 0; } .hero h1 { font-size: 2.5rem; } .hero p { font-size: 1rem; } .btn { padding: 12px 25px; } .section-title h2 { font-size: 2rem; } } @media (max-width: 576px) { .hero h1 { font-size: 2rem; } .btn-group { display: flex; flex-direction: column; gap: 15px; } .btn-outline { margin-left: 0; } .section { padding: 60px 0; } }
JavaScript
// Mobile Menu Toggle const mobileMenu = document.getElementById('mobile-menu'); const navLinks = document.getElementById('nav-links'); mobileMenu.addEventListener('click', () => { navLinks.classList.toggle('active'); mobileMenu.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'); mobileMenu.innerHTML = '<i class="fas fa-bars"></i>'; }); }); // Header scroll effect window.addEventListener('scroll', () => { const header = document.getElementById('header'); if (window.scrollY > 100) { header.classList.add('scrolled'); } else { header.classList.remove('scrolled'); } }); // Smooth scrolling for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function(e) { e.preventDefault(); document.querySelector(this.getAttribute('href')).scrollIntoView({ behavior: 'smooth' }); }); }); // Testimonial slider const slides = document.querySelectorAll('.testimonial-slide'); const dots = document.querySelectorAll('.slider-dot'); let currentSlide = 0; function showSlide(n) { slides.forEach(slide => slide.classList.remove('active')); dots.forEach(dot => dot.classList.remove('active')); currentSlide = (n + slides.length) % slides.length; slides[currentSlide].classList.add('active'); dots[currentSlide].classList.add('active'); } dots.forEach((dot, index) => { dot.addEventListener('click', () => showSlide(index)); }); // Auto-advance testimonials setInterval(() => { showSlide(currentSlide + 1); }, 5000); // Animate elements when they come into view const animateOnScroll = () => { const elements = [ { id: 'about-text', class: 'animated' }, { id: 'about-image', class: 'animated' }, { id: 'feature1', class: 'animated' }, { id: 'feature2', class: 'animated' }, { id: 'feature3', class: 'animated' }, { id: 'feature4', class: 'animated' }, { id: 'product1', class: 'animated' }, { id: 'product2', class: 'animated' }, { id: 'product3', class: 'animated' }, { id: 'product4', class: 'animated' }, { id: 'stat1', class: 'animated' }, { id: 'stat2', class: 'animated' }, { id: 'stat3', class: 'animated' }, { id: 'stat4', class: 'animated' } ]; elements.forEach(item => { const element = document.getElementById(item.id); if (element) { const elementPosition = element.getBoundingClientRect().top; const screenPosition = window.innerHeight / 1.2; if (elementPosition < screenPosition) { element.classList.add(item.class); // Animate counting numbers for stats if (item.id.startsWith('stat')) { const numberElement = element.querySelector('.stat-number'); const target = parseInt(numberElement.getAttribute('data-count')); const duration = 2000; const start = 0; const increment = target / (duration / 16); let current = start; const timer = setInterval(() => { current += increment; if (current >= target) { clearInterval(timer); current = target; } numberElement.textContent = Math.floor(current); }, 16); } } } }); }; window.addEventListener('scroll', animateOnScroll); window.addEventListener('load', animateOnScroll); // Form submission const contactForm = document.getElementById('contactForm'); if (contactForm) { contactForm.addEventListener('submit', function(e) { e.preventDefault(); alert('Thank you for your message! We will get back to you soon.'); this.reset(); }); }
Output Preview
Desktop
Mobile
Fullscreen