Library 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>Book Haven - Your Digital Library</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <link rel="stylesheet" href="styles.css"> </head> <body> <!-- Navigation --> <nav class="navbar"> <div class="container"> <a href="#" class="logo">Book<span>Haven</span></a> <ul class="nav-links"> <li><a href="#home">Home</a></li> <li><a href="#features">Features</a></li> <li><a href="#collections">Collections</a></li> <li><a href="#testimonials">Testimonials</a></li> <li><a href="#events">Events</a></li> <li><a href="#membership">Membership</a></li> <li><a href="#blog">Blog</a></li> <li><a href="#contact">Contact</a></li> </ul> <div class="hamburger"> <span></span> <span></span> <span></span> </div> </div> </nav> <!-- Hero Section --> <section id="home" class="hero"> <div class="container"> <div class="hero-content"> <h1 class="hero-title">Discover Your Next <span>Favorite Book</span></h1> <p class="hero-subtitle">Access thousands of books, audiobooks, and magazines from anywhere in the world.</p> <div class="hero-buttons"> <a href="#" class="btn-primary">Join Now</a> <a href="#" class="btn-secondary">Explore</a> </div> </div> <div class="hero-image"> <img src="https://images.unsplash.com/photo-1544947950-fa07a98d237f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Books" class="floating"> </div> </div> </section> <!-- Scrolling Text Section --> <section class="scrolling-text"> <div class="scrolling-content"> <span>New Releases</span> <span>Bestsellers</span> <span>Award Winners</span> <span>Classic Literature</span> <span>Science Fiction</span> <span>Biographies</span> <span>New Releases</span> <span>Bestsellers</span> <span>Award Winners</span> <span>Classic Literature</span> <span>Science Fiction</span> <span>Biographies</span> </div> </section> <!-- Features Section --> <section id="features" class="features"> <div class="container"> <h2 class="section-title">Why Choose <span>BookHaven</span></h2> <p class="section-subtitle">We provide the best digital library experience for book lovers</p> <div class="features-grid"> <div class="feature-card"> <div class="feature-icon"> <i class="fas fa-book-open"></i> </div> <h3>Extensive Collection</h3> <p>Over 100,000 books across all genres, from classics to contemporary bestsellers.</p> </div> <div class="feature-card"> <div class="feature-icon"> <i class="fas fa-headphones"></i> </div> <h3>Audiobooks</h3> <p>Thousands of professionally narrated audiobooks for your listening pleasure.</p> </div> <div class="feature-card"> <div class="feature-icon"> <i class="fas fa-mobile-alt"></i> </div> <h3>Mobile Friendly</h3> <p>Read anywhere, anytime on any device with our responsive platform.</p> </div> <div class="feature-card"> <div class="feature-icon"> <i class="fas fa-user-friends"></i> </div> <h3>Community</h3> <p>Join book clubs, discussions, and connect with fellow book enthusiasts.</p> </div> </div> </div> </section> <!-- Collections Section --> <section id="collections" class="collections"> <div class="container"> <h2 class="section-title">Featured <span>Collections</span></h2> <p class="section-subtitle">Explore our curated book collections</p> <div class="collection-slider"> <div class="collection-card"> <div class="collection-image"> <img src="https://images.unsplash.com/photo-1544716278-ca5e3f4abd8c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Mystery Collection"> </div> <div class="collection-content"> <h3>Mystery & Thriller</h3> <p>Heart-pounding suspense and mind-bending mysteries.</p> <a href="#" class="btn-outline">View Collection</a> </div> </div> <div class="collection-card"> <div class="collection-image"> <img src="https://images.unsplash.com/photo-1535905557558-afc4877a26fc?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Science Fiction Collection"> </div> <div class="collection-content"> <h3>Science Fiction</h3> <p>Explore galaxies far away and futures yet to come.</p> <a href="#" class="btn-outline">View Collection</a> </div> </div> <div class="collection-card"> <div class="collection-image"> <img src="https://images.unsplash.com/photo-1589998059171-988d887df646?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="History Collection"> </div> <div class="collection-content"> <h3>History & Biography</h3> <p>Journey through time with these fascinating accounts.</p> <a href="#" class="btn-outline">View Collection</a> </div> </div> <div class="collection-card"> <div class="collection-image"> <img src="https://images.unsplash.com/photo-1506880018603-83d5b814b5a6?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Romance Collection"> </div> <div class="collection-content"> <h3>Romance</h3> <p>Stories of love, passion, and heartfelt connections.</p> <a href="#" class="btn-outline">View Collection</a> </div> </div> </div> <div class="slider-controls"> <button class="slider-prev"><i class="fas fa-chevron-left"></i></button> <button class="slider-next"><i class="fas fa-chevron-right"></i></button> </div> </div> </section> <!-- Testimonials Section --> <section id="testimonials" class="testimonials"> <div class="container"> <h2 class="section-title">What Our <span>Readers Say</span></h2> <p class="section-subtitle">Hear from our happy members</p> <div class="testimonial-slider"> <div class="testimonial-card"> <div class="testimonial-content"> <div class="quote-icon"> <i class="fas fa-quote-left"></i> </div> <p>BookHaven has completely transformed my reading habits. I now read twice as much as I used to thanks to their amazing collection and mobile app.</p> </div> <div class="testimonial-author"> <img src="https://randomuser.me/api/portraits/women/32.jpg" alt="Sarah Johnson"> <div> <h4>Sarah Johnson</h4> <span>Member since 2019</span> </div> </div> </div> <div class="testimonial-card"> <div class="testimonial-content"> <div class="quote-icon"> <i class="fas fa-quote-left"></i> </div> <p>As an audiobook lover, I'm impressed with the quality and selection. The narrators are excellent and the app makes it easy to listen on the go.</p> </div> <div class="testimonial-author"> <img src="https://randomuser.me/api/portraits/men/45.jpg" alt="Michael Chen"> <div> <h4>Michael Chen</h4> <span>Member since 2020</span> </div> </div> </div> <div class="testimonial-card"> <div class="testimonial-content"> <div class="quote-icon"> <i class="fas fa-quote-left"></i> </div> <p>The book clubs and reading challenges have introduced me to genres I never would have tried before. Such a wonderful community of readers!</p> </div> <div class="testimonial-author"> <img src="https://randomuser.me/api/portraits/women/68.jpg" alt="Emma Rodriguez"> <div> <h4>Emma Rodriguez</h4> <span>Member since 2021</span> </div> </div> </div> </div> <div class="testimonial-dots"></div> </div> </section> <!-- Events Section --> <section id="events" class="events"> <div class="container"> <h2 class="section-title">Upcoming <span>Events</span></h2> <p class="section-subtitle">Join our literary events and discussions</p> <div class="events-timeline"> <div class="timeline-item"> <div class="timeline-date"> <span>15</span> <span>June</span> </div> <div class="timeline-content"> <h3>Author Talk: Margaret Atwood</h3> <p>Join us for an exclusive conversation with the acclaimed author of The Handmaid's Tale.</p> <div class="timeline-meta"> <span><i class="far fa-clock"></i> 6:00 PM EST</span> <span><i class="fas fa-map-marker-alt"></i> Virtual Event</span> </div> <a href="#" class="btn-outline">Register</a> </div> </div> <div class="timeline-item"> <div class="timeline-date"> <span>22</span> <span>June</span> </div> <div class="timeline-content"> <h3>Book Club: Klara and the Sun</h3> <p>Discussion of Kazuo Ishiguro's latest novel about artificial intelligence and humanity.</p> <div class="timeline-meta"> <span><i class="far fa-clock"></i> 7:30 PM EST</span> <span><i class="fas fa-map-marker-alt"></i> Main Library</span> </div> <a href="#" class="btn-outline">Join</a> </div> </div> <div class="timeline-item"> <div class="timeline-date"> <span>5</span> <span>July</span> </div> <div class="timeline-content"> <h3>Writing Workshop</h3> <p>Learn the art of storytelling with award-winning author James Patterson.</p> <div class="timeline-meta"> <span><i class="far fa-clock"></i> 2:00 PM EST</span> <span><i class="fas fa-map-marker-alt"></i> Virtual Event</span> </div> <a href="#" class="btn-outline">Register</a> </div> </div> </div> <div class="events-cta"> <a href="#" class="btn-primary">View All Events</a> </div> </div> </section> <!-- Membership Section --> <section id="membership" class="membership"> <div class="container"> <h2 class="section-title">Choose Your <span>Membership</span></h2> <p class="section-subtitle">Find the perfect plan for your reading needs</p> <div class="membership-cards"> <div class="membership-card basic"> <div class="membership-header"> <h3>Basic</h3> <div class="price"> <span>$9.99</span> <span>/month</span> </div> </div> <ul class="membership-features"> <li><i class="fas fa-check"></i> Access to 50,000+ ebooks</li> <li><i class="fas fa-check"></i> 1 audiobook per month</li> <li><i class="fas fa-check"></i> Basic reading features</li> <li><i class="fas fa-times"></i> Offline reading</li> <li><i class="fas fa-times"></i> Premium content</li> </ul> <a href="#" class="btn-outline">Get Started</a> </div> <div class="membership-card popular"> <div class="popular-tag">Most Popular</div> <div class="membership-header"> <h3>Premium</h3> <div class="price"> <span>$14.99</span> <span>/month</span> </div> </div> <ul class="membership-features"> <li><i class="fas fa-check"></i> Access to all 100,000+ ebooks</li> <li><i class="fas fa-check"></i> 5 audiobooks per month</li> <li><i class="fas fa-check"></i> Advanced reading features</li> <li><i class="fas fa-check"></i> Offline reading</li> <li><i class="fas fa-check"></i> Premium content access</li> </ul> <a href="#" class="btn-primary">Get Started</a> </div> <div class="membership-card family"> <div class="membership-header"> <h3>Family</h3> <div class="price"> <span>$24.99</span> <span>/month</span> </div> </div> <ul class="membership-features"> <li><i class="fas fa-check"></i> Everything in Premium</li> <li><i class="fas fa-check"></i> Up to 4 family members</li> <li><i class="fas fa-check"></i> 10 audiobooks per month</li> <li><i class="fas fa-check"></i> Kids content included</li> <li><i class="fas fa-check"></i> Family reading stats</li> </ul> <a href="#" class="btn-outline">Get Started</a> </div> </div> </div> </section> <!-- Blog Section --> <section id="blog" class="blog"> <div class="container"> <h2 class="section-title">From Our <span>Blog</span></h2> <p class="section-subtitle">Latest articles and reading tips</p> <div class="blog-grid"> <div class="blog-card"> <div class="blog-image"> <img src="https://images.unsplash.com/photo-1541963463532-d68292c34b19?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Summer Reading"> <div class="blog-date"> <span>12</span> <span>June</span> </div> </div> <div class="blog-content"> <h3>Summer Reading List 2023</h3> <p>Discover our curated selection of books perfect for beach reading or lazy summer afternoons.</p> <a href="#" class="read-more">Read More <i class="fas fa-arrow-right"></i></a> </div> </div> <div class="blog-card"> <div class="blog-image"> <img src="https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Reading Habits"> <div class="blog-date"> <span>5</span> <span>June</span> </div> </div> <div class="blog-content"> <h3>How to Develop a Reading Habit</h3> <p>Practical tips to help you read more books and make reading a daily habit.</p> <a href="#" class="read-more">Read More <i class="fas fa-arrow-right"></i></a> </div> </div> <div class="blog-card"> <div class="blog-image"> <img src="https://images.unsplash.com/photo-1532012197267-da84d127e765?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Audiobooks"> <div class="blog-date"> <span>28</span> <span>May</span> </div> </div> <div class="blog-content"> <h3>The Rise of Audiobooks</h3> <p>Exploring how audiobooks are changing the way we consume literature.</p> <a href="#" class="read-more">Read More <i class="fas fa-arrow-right"></i></a> </div> </div> </div> <div class="blog-cta"> <a href="#" class="btn-primary">View All Articles</a> </div> </div> </section> <!-- Contact Section --> <section id="contact" class="contact"> <div class="container"> <div class="contact-content"> <h2 class="section-title">Get In <span>Touch</span></h2> <p class="section-subtitle">We'd love to hear from you</p> <div class="contact-info"> <div class="info-item"> <div class="info-icon"> <i class="fas fa-map-marker-alt"></i> </div> <div class="info-content"> <h3>Location</h3> <p>123 Library Street, Bookville, BV 12345</p> </div> </div> <div class="info-item"> <div class="info-icon"> <i class="fas fa-phone-alt"></i> </div> <div class="info-content"> <h3>Phone</h3> <p>(123) 456-7890</p> </div> </div> <div class="info-item"> <div class="info-icon"> <i class="fas fa-envelope"></i> </div> <div class="info-content"> <h3>Email</h3> <p>info@bookhaven.com</p> </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-goodreads-g"></i></a> </div> </div> <div class="contact-form"> <form> <div class="form-group"> <input type="text" placeholder="Your Name" required> </div> <div class="form-group"> <input type="email" placeholder="Your Email" required> </div> <div class="form-group"> <input type="text" placeholder="Subject"> </div> <div class="form-group"> <textarea placeholder="Your Message" rows="5" required></textarea> </div> <button type="submit" class="btn-primary">Send Message</button> </form> </div> </div> </section> <!-- Footer --> <footer class="footer"> <div class="container"> <div class="footer-top"> <div class="footer-about"> <a href="#" class="logo">Book<span>Haven</span></a> <p>Your gateway to a world of literature. Discover, read, and connect with fellow book lovers.</p> </div> <div class="footer-links"> <h3>Quick Links</h3> <ul> <li><a href="#home">Home</a></li> <li><a href="#features">Features</a></li> <li><a href="#collections">Collections</a></li> <li><a href="#membership">Membership</a></li> <li><a href="#blog">Blog</a></li> </ul> </div> <div class="footer-links"> <h3>Support</h3> <ul> <li><a href="#">FAQs</a></li> <li><a href="#">Help Center</a></li> <li><a href="#">Terms of Service</a></li> <li><a href="#">Privacy Policy</a></li> <li><a href="#">Cookie Policy</a></li> </ul> </div> <div class="footer-newsletter"> <h3>Newsletter</h3> <p>Subscribe to get updates on new releases and events.</p> <form> <input type="email" placeholder="Your Email"> <button type="submit"><i class="fas fa-paper-plane"></i></button> </form> </div> </div> <div class="footer-bottom"> <p>© 2023 BookHaven. All Rights Reserved.</p> <div class="payment-methods"> <i class="fab fa-cc-visa"></i> <i class="fab fa-cc-mastercard"></i> <i class="fab fa-cc-paypal"></i> <i class="fab fa-cc-apple-pay"></i> </div> </div> </div> </footer> <!-- Back to Top Button --> <a href="#" class="back-to-top"> <i class="fas fa-arrow-up"></i> </a> <script src="script.js"></script> </body> </html>
CSS
/* Global Styles */ :root { --primary-color: #5d5fef; --primary-dark: #4a4bc7; --secondary-color: #f8b400; --dark-color: #2c3e50; --light-color: #f5f6fa; --gray-color: #95a5a6; --success-color: #2ecc71; --danger-color: #e74c3c; --white-color: #ffffff; --black-color: #000000; --shadow: 0 5px 15px rgba(0, 0, 0, 0.1); --transition: all 0.3s ease; } * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: var(--dark-color); background-color: var(--white-color); overflow-x: hidden; } .container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; } section { padding: 80px 0; } .section-title { font-size: 2.5rem; margin-bottom: 15px; text-align: center; position: relative; color: var(--dark-color); } .section-title span { color: var(--primary-color); } .section-subtitle { font-size: 1.1rem; color: var(--gray-color); text-align: center; margin-bottom: 50px; max-width: 700px; margin-left: auto; margin-right: auto; } .btn { display: inline-block; padding: 12px 30px; border-radius: 50px; font-weight: 600; text-transform: capitalize; text-decoration: none; transition: var(--transition); cursor: pointer; } .btn-primary { background-color: var(--primary-color); color: var(--white-color); border: 2px solid var(--primary-color); } .btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); transform: translateY(-3px); box-shadow: var(--shadow); } .btn-secondary { background-color: transparent; color: var(--primary-color); border: 2px solid var(--primary-color); } .btn-secondary:hover { background-color: var(--primary-color); color: var(--white-color); transform: translateY(-3px); box-shadow: var(--shadow); } .btn-outline { background-color: transparent; color: var(--dark-color); border: 2px solid var(--dark-color); padding: 8px 20px; font-size: 0.9rem; } .btn-outline:hover { background-color: var(--dark-color); color: var(--white-color); transform: translateY(-3px); box-shadow: var(--shadow); } /* Navigation */ .navbar { position: fixed; top: 0; left: 0; width: 100%; padding: 20px 0; background-color: var(--white-color); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); z-index: 1000; transition: var(--transition); } .navbar.scrolled { padding: 15px 0; background-color: rgba(255, 255, 255, 0.95); box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1); } .navbar .container { display: flex; justify-content: space-between; align-items: center; } .logo { font-size: 1.8rem; font-weight: 700; color: var(--dark-color); text-decoration: none; } .logo span { color: var(--primary-color); } .nav-links { display: flex; list-style: none; } .nav-links li { margin-left: 30px; } .nav-links a { color: var(--dark-color); text-decoration: none; font-weight: 600; transition: var(--transition); position: relative; } .nav-links a::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background-color: var(--primary-color); transition: var(--transition); } .nav-links a:hover::after { width: 100%; } .nav-links a:hover { color: var(--primary-color); } .hamburger { display: none; cursor: pointer; width: 30px; height: 20px; flex-direction: column; justify-content: space-between; } .hamburger span { display: block; width: 100%; height: 3px; background-color: var(--dark-color); transition: var(--transition); } .hamburger.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); } .hamburger.active span:nth-child(2) { opacity: 0; } .hamburger.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); } /* Hero Section */ .hero { padding-top: 120px; background: linear-gradient(135deg, #f5f7fa 0%, #e4e8f0 100%); overflow: hidden; } .hero .container { display: flex; align-items: center; min-height: calc(100vh - 120px); } .hero-content { flex: 1; padding-right: 50px; animation: fadeInLeft 1s ease; } .hero-title { font-size: 3.5rem; margin-bottom: 20px; line-height: 1.2; } .hero-title span { color: var(--primary-color); position: relative; } .hero-title span::after { content: ''; position: absolute; bottom: 10px; left: 0; width: 100%; height: 15px; background-color: rgba(93, 95, 239, 0.2); z-index: -1; } .hero-subtitle { font-size: 1.2rem; color: var(--gray-color); margin-bottom: 30px; max-width: 500px; } .hero-buttons { display: flex; gap: 20px; } .hero-image { flex: 1; position: relative; animation: fadeInRight 1s ease; } .hero-image img { width: 100%; max-width: 600px; border-radius: 10px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); animation: floating 3s ease-in-out infinite; } /* Scrolling Text Section */ .scrolling-text { background-color: var(--primary-color); padding: 15px 0; overflow: hidden; } .scrolling-content { display: flex; white-space: nowrap; animation: scroll 20s linear infinite; } .scrolling-content span { color: var(--white-color); font-weight: 600; margin-right: 50px; font-size: 1.2rem; text-transform: uppercase; position: relative; } .scrolling-content span::after { content: '•'; position: absolute; right: -30px; top: 50%; transform: translateY(-50%); } /* Features Section */ .features { background-color: var(--light-color); } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; margin-top: 50px; } .feature-card { background-color: var(--white-color); padding: 30px; border-radius: 10px; text-align: center; transition: var(--transition); box-shadow: var(--shadow); } .feature-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); } .feature-icon { width: 80px; height: 80px; background-color: rgba(93, 95, 239, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; transition: var(--transition); } .feature-card:hover .feature-icon { background-color: var(--primary-color); color: var(--white-color); } .feature-icon i { font-size: 2rem; color: var(--primary-color); transition: var(--transition); } .feature-card:hover .feature-icon i { color: var(--white-color); } .feature-card h3 { font-size: 1.3rem; margin-bottom: 15px; color: var(--dark-color); } .feature-card p { color: var(--gray-color); } /* Collections Section */ .collections { background-color: var(--white-color); } .collection-slider { display: flex; gap: 30px; overflow-x: auto; padding-bottom: 20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; } .collection-slider::-webkit-scrollbar { height: 8px; } .collection-slider::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; } .collection-slider::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 10px; } .collection-card { min-width: 300px; background-color: var(--white-color); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); transition: var(--transition); scroll-snap-align: start; } .collection-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); } .collection-image { height: 200px; overflow: hidden; } .collection-image img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); } .collection-card:hover .collection-image img { transform: scale(1.1); } .collection-content { padding: 20px; } .collection-content h3 { font-size: 1.3rem; margin-bottom: 10px; color: var(--dark-color); } .collection-content p { color: var(--gray-color); margin-bottom: 20px; } .slider-controls { display: flex; justify-content: center; gap: 15px; margin-top: 30px; } .slider-prev, .slider-next { width: 50px; height: 50px; border-radius: 50%; background-color: var(--white-color); color: var(--dark-color); border: 2px solid var(--dark-color); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: var(--transition); } .slider-prev:hover, .slider-next:hover { background-color: var(--dark-color); color: var(--white-color); } /* Testimonials Section */ .testimonials { background-color: var(--light-color); } .testimonial-slider { display: flex; gap: 30px; overflow-x: auto; padding-bottom: 20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; } .testimonial-slider::-webkit-scrollbar { height: 8px; } .testimonial-slider::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; } .testimonial-slider::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 10px; } .testimonial-card { min-width: 350px; background-color: var(--white-color); border-radius: 10px; padding: 30px; box-shadow: var(--shadow); scroll-snap-align: start; } .testimonial-content { position: relative; margin-bottom: 30px; } .quote-icon { position: absolute; top: -15px; left: -15px; width: 50px; height: 50px; background-color: var(--primary-color); color: var(--white-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; } .testimonial-content p { font-style: italic; color: var(--dark-color); font-size: 1.1rem; } .testimonial-author { display: flex; align-items: center; } .testimonial-author img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; margin-right: 15px; } .testimonial-author h4 { font-size: 1.1rem; margin-bottom: 5px; color: var(--dark-color); } .testimonial-author span { color: var(--gray-color); font-size: 0.9rem; } .testimonial-dots { display: flex; justify-content: center; gap: 10px; margin-top: 30px; } .testimonial-dots span { display: block; width: 12px; height: 12px; border-radius: 50%; background-color: var(--gray-color); cursor: pointer; transition: var(--transition); } .testimonial-dots span.active { background-color: var(--primary-color); transform: scale(1.2); } /* Events Section */ .events { background-color: var(--white-color); } .events-timeline { max-width: 800px; margin: 0 auto; position: relative; } .events-timeline::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 2px; height: 100%; background-color: var(--primary-color); } .timeline-item { display: flex; margin-bottom: 40px; position: relative; } .timeline-item:nth-child(odd) { justify-content: flex-start; padding-right: 50%; text-align: right; } .timeline-item:nth-child(even) { justify-content: flex-end; padding-left: 50%; text-align: left; } .timeline-date { width: 120px; height: 120px; background-color: var(--primary-color); color: var(--white-color); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; position: absolute; top: 0; z-index: 1; box-shadow: 0 5px 15px rgba(93, 95, 239, 0.3); } .timeline-item:nth-child(odd) .timeline-date { right: calc(50% - 60px); } .timeline-item:nth-child(even) .timeline-date { left: calc(50% - 60px); } .timeline-date span:first-child { font-size: 2rem; font-weight: 700; } .timeline-date span:last-child { font-size: 1.2rem; text-transform: uppercase; } .timeline-content { background-color: var(--light-color); padding: 30px; border-radius: 10px; box-shadow: var(--shadow); width: calc(50% - 80px); } .timeline-content h3 { font-size: 1.3rem; margin-bottom: 10px; color: var(--dark-color); } .timeline-content p { color: var(--gray-color); margin-bottom: 15px; } .timeline-meta { display: flex; gap: 15px; margin-bottom: 15px; } .timeline-meta span { display: flex; align-items: center; gap: 5px; color: var(--gray-color); font-size: 0.9rem; } .timeline-meta i { color: var(--primary-color); } .events-cta { text-align: center; margin-top: 50px; } /* Membership Section */ .membership { background-color: var(--light-color); } .membership-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 50px; } .membership-card { background-color: var(--white-color); border-radius: 10px; padding: 30px; box-shadow: var(--shadow); transition: var(--transition); position: relative; overflow: hidden; } .membership-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); } .membership-card.popular { border: 2px solid var(--primary-color); } .popular-tag { position: absolute; top: 20px; right: -30px; background-color: var(--primary-color); color: var(--white-color); padding: 5px 30px; transform: rotate(45deg); font-weight: 600; font-size: 0.8rem; } .membership-header { margin-bottom: 30px; text-align: center; } .membership-header h3 { font-size: 1.5rem; color: var(--dark-color); margin-bottom: 10px; } .price { font-size: 2.5rem; font-weight: 700; color: var(--primary-color); } .price span { font-size: 1rem; font-weight: 400; color: var(--gray-color); } .membership-features { margin-bottom: 30px; } .membership-features li { display: flex; align-items: center; margin-bottom: 15px; color: var(--dark-color); } .membership-features i { margin-right: 10px; font-size: 1.1rem; } .membership-features .fa-check { color: var(--success-color); } .membership-features .fa-times { color: var(--danger-color); } /* Blog Section */ .blog { background-color: var(--white-color); } .blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 50px; } .blog-card { background-color: var(--white-color); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); transition: var(--transition); } .blog-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); } .blog-image { position: relative; height: 200px; overflow: hidden; } .blog-image img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); } .blog-card:hover .blog-image img { transform: scale(1.1); } .blog-date { position: absolute; top: 20px; right: 20px; background-color: var(--primary-color); color: var(--white-color); padding: 10px; border-radius: 5px; text-align: center; line-height: 1.2; } .blog-date span:first-child { font-size: 1.5rem; font-weight: 700; display: block; } .blog-date span:last-child { font-size: 0.9rem; text-transform: uppercase; } .blog-content { padding: 20px; } .blog-content h3 { font-size: 1.3rem; margin-bottom: 10px; color: var(--dark-color); } .blog-content p { color: var(--gray-color); margin-bottom: 15px; } .read-more { display: inline-flex; align-items: center; color: var(--primary-color); font-weight: 600; text-decoration: none; transition: var(--transition); } .read-more i { margin-left: 5px; transition: var(--transition); } .read-more:hover { color: var(--primary-dark); } .read-more:hover i { transform: translateX(5px); } .blog-cta { text-align: center; margin-top: 50px; } /* Contact Section */ .contact { background-color: var(--light-color); } .contact .container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 50px; } .contact-info { margin-top: 30px; } .info-item { display: flex; margin-bottom: 30px; } .info-icon { width: 60px; height: 60px; background-color: var(--primary-color); color: var(--white-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-right: 20px; flex-shrink: 0; } .info-content h3 { font-size: 1.3rem; margin-bottom: 5px; color: var(--dark-color); } .info-content p { color: var(--gray-color); } .social-links { display: flex; gap: 15px; margin-top: 30px; } .social-links a { width: 40px; height: 40px; background-color: var(--primary-color); color: var(--white-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; transition: var(--transition); } .social-links a:hover { background-color: var(--primary-dark); transform: translateY(-5px); } .contact-form { background-color: var(--white-color); padding: 30px; border-radius: 10px; box-shadow: var(--shadow); } .form-group { margin-bottom: 20px; } .form-group input, .form-group textarea { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 5px; font-family: inherit; font-size: 1rem; transition: var(--transition); } .form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(93, 95, 239, 0.2); } .form-group textarea { resize: vertical; min-height: 120px; } /* Footer */ .footer { background-color: var(--dark-color); color: var(--white-color); padding: 80px 0 0; } .footer-top { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; margin-bottom: 50px; } .footer-about .logo { color: var(--white-color); font-size: 1.8rem; margin-bottom: 20px; display: block; } .footer-about .logo span { color: var(--secondary-color); } .footer-about p { color: rgba(255, 255, 255, 0.7); margin-bottom: 20px; } .footer-links h3 { font-size: 1.3rem; margin-bottom: 20px; position: relative; padding-bottom: 10px; } .footer-links h3::after { content: ''; position: absolute; bottom: 0; left: 0; width: 50px; height: 2px; background-color: var(--primary-color); } .footer-links ul { list-style: none; } .footer-links li { margin-bottom: 10px; } .footer-links a { color: rgba(255, 255, 255, 0.7); text-decoration: none; transition: var(--transition); } .footer-links a:hover { color: var(--white-color); padding-left: 5px; } .footer-newsletter h3 { font-size: 1.3rem; margin-bottom: 20px; position: relative; padding-bottom: 10px; } .footer-newsletter h3::after { content: ''; position: absolute; bottom: 0; left: 0; width: 50px; height: 2px; background-color: var(--primary-color); } .footer-newsletter p { color: rgba(255, 255, 255, 0.7); margin-bottom: 20px; } .footer-newsletter form { display: flex; } .footer-newsletter input { flex: 1; padding: 10px 15px; border: none; border-radius: 5px 0 0 5px; font-family: inherit; font-size: 1rem; } .footer-newsletter button { background-color: var(--primary-color); color: var(--white-color); border: none; padding: 0 20px; border-radius: 0 5px 5px 0; cursor: pointer; transition: var(--transition); } .footer-newsletter button:hover { background-color: var(--primary-dark); } .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; } .footer-bottom p { color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; } .payment-methods { display: flex; gap: 15px; } .payment-methods i { font-size: 1.5rem; color: rgba(255, 255, 255, 0.7); } /* Back to Top Button */ .back-to-top { position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px; background-color: var(--primary-color); color: var(--white-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); opacity: 0; visibility: hidden; transition: var(--transition); z-index: 999; } .back-to-top.active { opacity: 1; visibility: visible; } .back-to-top:hover { background-color: var(--primary-dark); transform: translateY(-5px); } /* Animations */ @keyframes fadeInLeft { from { opacity: 0; transform: translateX(-50px); } to { opacity: 1; transform: translateX(0); } } @keyframes fadeInRight { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: translateX(0); } } @keyframes floating { 0% { transform: translateY(0); } 50% { transform: translateY(-15px); } 100% { transform: translateY(0); } } @keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } /* Responsive Styles */ @media (max-width: 992px) { .hero .container { flex-direction: column; text-align: center; padding-top: 50px; } .hero-content { padding-right: 0; margin-bottom: 50px; } .hero-buttons { justify-content: center; } .hero-image { margin-top: 50px; } .section-title { font-size: 2.2rem; } .events-timeline::before { left: 30px; } .timeline-item:nth-child(odd), .timeline-item:nth-child(even) { justify-content: flex-end; padding-left: 80px; padding-right: 0; text-align: left; } .timeline-item:nth-child(odd) .timeline-date, .timeline-item:nth-child(even) .timeline-date { left: 0; right: auto; } .timeline-content { width: 100%; } } @media (max-width: 768px) { .navbar .nav-links { position: fixed; top: 80px; left: -100%; width: 100%; height: calc(100vh - 80px); background-color: var(--white-color); flex-direction: column; align-items: center; justify-content: center; transition: var(--transition); z-index: 999; } .navbar .nav-links.active { left: 0; } .navbar .nav-links li { margin: 15px 0; } .hamburger { display: flex; } .hero-title { font-size: 2.8rem; } .section-title { font-size: 2rem; } .membership-cards { grid-template-columns: 1fr; } .membership-card.popular { transform: scale(1.05); } } @media (max-width: 576px) { .hero-title { font-size: 2.2rem; } .hero-buttons { flex-direction: column; gap: 15px; } .btn { width: 100%; text-align: center; } .section-title { font-size: 1.8rem; } .events-timeline::before { display: none; } .timeline-item:nth-child(odd), .timeline-item:nth-child(even) { padding-left: 0; } .timeline-date { position: relative; margin-bottom: 20px; left: 0 !important; right: auto !important; } .footer-bottom { flex-direction: column; gap: 15px; text-align: center; } }
JavaScript
document.addEventListener('DOMContentLoaded', function() { // Mobile Navigation const hamburger = document.querySelector('.hamburger'); const navLinks = document.querySelector('.nav-links'); hamburger.addEventListener('click', function() { this.classList.toggle('active'); navLinks.classList.toggle('active'); }); // Close mobile menu when clicking on a link document.querySelectorAll('.nav-links a').forEach(link => { link.addEventListener('click', () => { hamburger.classList.remove('active'); navLinks.classList.remove('active'); }); }); // Sticky Navigation const navbar = document.querySelector('.navbar'); window.addEventListener('scroll', function() { if (window.scrollY > 100) { navbar.classList.add('scrolled'); } else { navbar.classList.remove('scrolled'); } }); // Back to Top Button const backToTopBtn = document.querySelector('.back-to-top'); window.addEventListener('scroll', function() { if (window.scrollY > 300) { backToTopBtn.classList.add('active'); } else { backToTopBtn.classList.remove('active'); } }); backToTopBtn.addEventListener('click', function(e) { e.preventDefault(); window.scrollTo({ top: 0, behavior: 'smooth' }); }); // Smooth Scrolling for Anchor Links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function(e) { e.preventDefault(); const targetId = this.getAttribute('href'); if (targetId === '#') return; const targetElement = document.querySelector(targetId); if (targetElement) { const navbarHeight = document.querySelector('.navbar').offsetHeight; const targetPosition = targetElement.offsetTop - navbarHeight; window.scrollTo({ top: targetPosition, behavior: 'smooth' }); } }); }); // Collection Slider const collectionSlider = document.querySelector('.collection-slider'); const sliderPrev = document.querySelector('.slider-prev'); const sliderNext = document.querySelector('.slider-next'); if (sliderPrev && sliderNext) { sliderPrev.addEventListener('click', function() { collectionSlider.scrollBy({ left: -300, behavior: 'smooth' }); }); sliderNext.addEventListener('click', function() { collectionSlider.scrollBy({ left: 300, behavior: 'smooth' }); }); } // Testimonial Slider const testimonialSlider = document.querySelector('.testimonial-slider'); const testimonialDots = document.querySelector('.testimonial-dots'); if (testimonialSlider && testimonialDots) { const testimonials = document.querySelectorAll('.testimonial-card'); let currentSlide = 0; // Create dots testimonials.forEach((_, index) => { const dot = document.createElement('span'); dot.addEventListener('click', () => goToSlide(index)); testimonialDots.appendChild(dot); }); // Set first dot as active const dots = document.querySelectorAll('.testimonial-dots span'); dots[0].classList.add('active'); // Auto slide let slideInterval = setInterval(nextSlide, 5000); function nextSlide() { currentSlide = (currentSlide + 1) % testimonials.length; updateSlider(); } function goToSlide(index) { currentSlide = index; updateSlider(); resetInterval(); } function updateSlider() { testimonialSlider.scrollTo({ left: currentSlide * testimonialSlider.offsetWidth, behavior: 'smooth' }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === currentSlide); }); } function resetInterval() { clearInterval(slideInterval); slideInterval = setInterval(nextSlide, 5000); } // Pause on hover testimonialSlider.addEventListener('mouseenter', () => { clearInterval(slideInterval); }); testimonialSlider.addEventListener('mouseleave', resetInterval); } // Animate elements on scroll const animateOnScroll = function() { const elements = document.querySelectorAll('.feature-card, .collection-card, .membership-card, .blog-card'); elements.forEach(element => { const elementPosition = element.getBoundingClientRect().top; const windowHeight = window.innerHeight; if (elementPosition < windowHeight - 100) { element.style.opacity = '1'; element.style.transform = 'translateY(0)'; } }); }; // Set initial state for animated elements document.querySelectorAll('.feature-card, .collection-card, .membership-card, .blog-card').forEach(element => { element.style.opacity = '0'; element.style.transform = 'translateY(30px)'; element.style.transition = 'opacity 0.5s ease, transform 0.5s ease'; }); window.addEventListener('scroll', animateOnScroll); window.addEventListener('load', animateOnScroll); // Form submission const contactForm = document.querySelector('.contact-form form'); if (contactForm) { contactForm.addEventListener('submit', function(e) { e.preventDefault(); // Get form values const formData = new FormData(this); const data = Object.fromEntries(formData); // Here you would typically send the data to a server console.log('Form submitted:', data); // Show success message alert('Thank you for your message! We will get back to you soon.'); this.reset(); }); } // Newsletter subscription const newsletterForm = document.querySelector('.footer-newsletter form'); if (newsletterForm) { newsletterForm.addEventListener('submit', function(e) { e.preventDefault(); const email = this.querySelector('input').value; // Here you would typically send the email to a server console.log('Newsletter subscription:', email); // Show success message alert('Thank you for subscribing to our newsletter!'); this.reset(); }); } });
Output Preview
Desktop
Mobile
Fullscreen