TravelEase Contact 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>TravelEase | Contact Us</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@9/swiper-bundle.min.css"> </head> <body> <!-- Header Section with Parallax Effect --> <header class="header"> <img src="https://images.unsplash.com/photo-1506929562872-bb421503ef21?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1920&q=80" alt="Travel Header" id="parallax-bg"> <nav class="navbar"> <a href="#" class="logo">Travel<span>Ease</span></a> <ul class="nav-links"> <li><a href="#">Home</a></li> <li><a href="#">Destinations</a></li> <li><a href="#">Packages</a></li> <li><a href="#">About</a></li> <li><a href="#" class="active">Contact</a></li> </ul> </nav> <div class="header-content"> <h1 class="velvet-caption" data-text="Get In Touch">Get In Touch</h1> <p>We're here to help and answer any questions you might have. We look forward to hearing from you.</p> </div> </header> <!-- Contact Form Section --> <section class="contact-section"> <div class="section-title"> <h2>Contact Us</h2> <p>Have questions about our travel packages or need assistance with your booking? Reach out to us anytime.</p> </div> <div class="contact-container"> <div class="contact-info"> <h3>Contact Information</h3> <div class="info-item"> <i class="fas fa-map-marker-alt"></i> <div class="info-content"> <h4>Address</h4> <p>123 Travel Street, Wanderlust City, WC 12345</p> </div> </div> <div class="info-item"> <i class="fas fa-phone-alt"></i> <div class="info-content"> <h4>Phone</h4> <p><a href="tel:+1234567890">+1 (234) 567-890</a></p> </div> </div> <div class="info-item"> <i class="fas fa-envelope"></i> <div class="info-content"> <h4>Email</h4> <p><a href="mailto:info@travelease.com">info@travelease.com</a></p> </div> </div> <div class="info-item"> <i class="fas fa-clock"></i> <div class="info-content"> <h4>Working Hours</h4> <p>Monday - Friday: 9:00 AM - 6:00 PM<br>Saturday: 10:00 AM - 4:00 PM</p> </div> </div> </div> <div class="contact-form"> <form id="contactForm"> <div class="form-group"> <label for="name">Your Name</label> <input type="text" id="name" class="form-control" required> </div> <div class="form-group"> <label for="email">Your Email</label> <input type="email" id="email" class="form-control" required> </div> <div class="form-group"> <label for="subject">Subject</label> <input type="text" id="subject" class="form-control" required> </div> <div class="form-group"> <label for="message">Your Message</label> <textarea id="message" class="form-control" required></textarea> </div> <button type="submit" class="submit-btn">Send Message</button> </form> </div> </div> </section> <!-- Team Section --> <section class="team-section"> <div class="team-container"> <div class="section-title"> <h2>Our Travel Experts</h2> <p>Meet our team of dedicated travel professionals ready to craft your perfect getaway.</p> </div> <div class="team-members"> <div class="team-card"> <div class="team-img"> <img src="https://images.unsplash.com/photo-1560250097-0b93528c311a?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80" alt="Travel Consultant"> </div> <div class="team-content"> <h3>Sarah Johnson</h3> <p>Senior Travel Consultant</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> <a href="#"><i class="fab fa-linkedin-in"></i></a> </div> </div> </div> <div class="team-card"> <div class="team-img"> <img src="https://images.unsplash.com/photo-1557862921-37829c790f19?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1171&q=80" alt="Destination Specialist"> </div> <div class="team-content"> <h3>Michael Chen</h3> <p>Destination Specialist</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> <a href="#"><i class="fab fa-linkedin-in"></i></a> </div> </div> </div> <div class="team-card"> <div class="team-img"> <img src="https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=688&q=80" alt="Customer Relations"> </div> <div class="team-content"> <h3>Emily Rodriguez</h3> <p>Customer Relations</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> <a href="#"><i class="fab fa-linkedin-in"></i></a> </div> </div> </div> </div> </div> </section> <!-- Testimonials Section with Swiper --> <section class="testimonials-section"> <div class="testimonials-container"> <div class="section-title"> <h2>What Our Clients Say</h2> <p>Hear from travelers who've experienced our exceptional service firsthand.</p> </div> <div class="swiper mySwiper"> <div class="swiper-wrapper"> <div class="swiper-slide"> <div class="testimonial-content"> <i class="fas fa-quote-left"></i> <p>TravelEase made our dream vacation a reality! Their attention to detail and personalized recommendations were spot on. We'll definitely be using them for all our future travels.</p> </div> <div class="testimonial-author"> <img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Client"> <div class="author-info"> <h4>Jennifer Parker</h4> <p>Italy Vacation, June 2023</p> </div> </div> </div> <div class="swiper-slide"> <div class="testimonial-content"> <i class="fas fa-quote-left"></i> <p>I was hesitant to use a travel agency at first, but TravelEase proved me wrong. They handled everything perfectly and even helped us when our flight was delayed. 10/10 service!</p> </div> <div class="testimonial-author"> <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Client"> <div class="author-info"> <h4>David Thompson</h4> <p>Japan Adventure, April 2023</p> </div> </div> </div> <div class="swiper-slide"> <div class="testimonial-content"> <i class="fas fa-quote-left"></i> <p>As a solo female traveler, safety is my top priority. TravelEase planned an amazing trip to Bali with all the right precautions. I felt completely comfortable the entire time.</p> </div> <div class="testimonial-author"> <img src="https://randomuser.me/api/portraits/women/68.jpg" alt="Client"> <div class="author-info"> <h4>Amanda Lee</h4> <p>Bali Retreat, March 2023</p> </div> </div> </div> </div> <div class="swiper-pagination"></div> </div> </div> </section> <!-- FAQ Section --> <section class="faq-section"> <div class="faq-container"> <div class="section-title"> <h2>Frequently Asked Questions</h2> <p>Find answers to common questions about our travel services and booking process.</p> </div> <div class="accordion"> <div class="accordion-item"> <div class="accordion-header"> <h3>How far in advance should I book my trip?</h3> <i class="fas fa-chevron-down"></i> </div> <div class="accordion-content"> <div class="accordion-content-inner"> <p>We recommend booking at least 3-6 months in advance for international trips and 2-3 months for domestic travel. This ensures the best availability for flights, accommodations, and activities. For peak seasons or special events, even earlier booking is advisable.</p> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header"> <h3>What is your cancellation policy?</h3> <i class="fas fa-chevron-down"></i> </div> <div class="accordion-content"> <div class="accordion-content-inner"> <p>Cancellation policies vary depending on the suppliers (airlines, hotels, etc.). Generally, cancellations made more than 60 days before departure receive a full refund minus a small service fee. Between 30-60 days, partial refunds apply. Within 30 days, refunds are typically not available but travel credits may be offered.</p> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header"> <h3>Do you offer travel insurance?</h3> <i class="fas fa-chevron-down"></i> </div> <div class="accordion-content"> <div class="accordion-content-inner"> <p>Yes, we strongly recommend travel insurance for all trips. We partner with top providers to offer comprehensive coverage including trip cancellation/interruption, medical emergencies, lost luggage, and more. Our agents can help you select the right plan for your needs and budget.</p> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header"> <h3>Can you accommodate special dietary needs?</h3> <i class="fas fa-chevron-down"></i> </div> <div class="accordion-content"> <div class="accordion-content-inner"> <p>Absolutely! We work with hotels, cruise lines, and tour operators to ensure all dietary restrictions (vegetarian, vegan, gluten-free, allergies, etc.) are accommodated. Please inform us of any requirements when booking so we can make the necessary arrangements.</p> </div> </div> </div> <div class="accordion-item"> <div class="accordion-header"> <h3>What makes TravelEase different from other agencies?</h3> <i class="fas fa-chevron-down"></i> </div> <div class="accordion-content"> <div class="accordion-content-inner"> <p>Our personalized service sets us apart. Each client is assigned a dedicated travel consultant who gets to know your preferences. We have exclusive partnerships that give you access to perks and upgrades. Plus, our 24/7 support means help is always available, no matter where you are in the world.</p> </div> </div> </div> </div> </div> </section> <!-- Map Section --> <section class="map-section"> <div class="map-container"> <div class="section-title"> <h2>Visit Our Office</h2> <p>Feel free to stop by our headquarters to discuss your travel plans in person.</p> </div> <div class="map-wrapper"> <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3022.215256750612!2d-73.98784492423962!3d40.7484409713896!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c259a9b3117469%3A0xd134e199a405a163!2sEmpire%20State%20Building!5e0!3m2!1sen!2sus!4v1689874567890!5m2!1sen!2sus" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe> <div class="map-overlay"></div> </div> </div> </section> <!-- Footer --> <footer class="footer"> <div class="footer-container"> <div class="footer-col"> <h3>TravelEase</h3> <p>Creating unforgettable travel experiences since 2010. Let us turn your vacation dreams into reality with our expert planning and personalized service.</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> <a href="#"><i class="fab fa-pinterest-p"></i></a> </div> </div> <div class="footer-col"> <h3>Quick Links</h3> <ul class="footer-links"> <li><a href="#">Home</a></li> <li><a href="#">Destinations</a></li> <li><a href="#">Special Offers</a></li> <li><a href="#">Travel Guides</a></li> <li><a href="#">Blog</a></li> </ul> </div> <div class="footer-col"> <h3>Support</h3> <ul class="footer-links"> <li><a href="#">FAQs</a></li> <li><a href="#">Terms & Conditions</a></li> <li><a href="#">Privacy Policy</a></li> <li><a href="#">Cookie Policy</a></li> <li><a href="#">Contact Us</a></li> </ul> </div> <div class="footer-col"> <h3>Newsletter</h3> <p>Subscribe to our newsletter for travel inspiration, exclusive deals, and insider tips.</p> <form class="newsletter-form"> <input type="email" placeholder="Your Email" required> <button type="submit" class="submit-btn">Subscribe</button> </form> </div> </div> <div class="footer-bottom"> <p>© 2023 TravelEase. All Rights Reserved.</p> </div> </footer> <script src="https://cdn.jsdelivr.net/npm/swiper@9/swiper-bundle.min.js"></script> </body> </html>
CSS
:root { --primary-color: #FFD700; --primary-dark: #FFC000; --primary-light: #FFF9C4; --text-dark: #333333; --text-light: #f8f8f8; --glass-bg: rgba(255, 255, 255, 0.15); --glass-border: rgba(255, 255, 255, 0.18); --shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15); } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Poppins', sans-serif; } body { background: linear-gradient(135deg, #f5f7fa 0%, #ffe8a1 100%); color: var(--text-dark); min-height: 100vh; overflow-x: hidden; } /* Header Section */ .header { position: relative; width: 100%; height: 100vh; overflow: hidden; display: flex; align-items: center; justify-content: center; } .header::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100px; background: linear-gradient(to top, #f5f7fa, transparent); z-index: 10; } .header img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; } .header-content { position: relative; z-index: 1; text-align: center; max-width: 800px; padding: 0 20px; } .header-content h1 { font-size: 4.5rem; color: var(--text-light); text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); margin-bottom: 1rem; opacity: 0; transform: translateY(50px); animation: elegantReveal 1s ease forwards 0.5s; } .header-content p { font-size: 1.2rem; color: var(--text-light); text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); margin-bottom: 2rem; opacity: 0; transform: translateY(50px); animation: elegantReveal 1s ease forwards 0.8s; } @keyframes elegantReveal { to { opacity: 1; transform: translateY(0); } } /* Navigation */ .navbar { position: fixed; top: 0; left: 0; width: 100%; padding: 20px 100px; display: flex; justify-content: space-between; align-items: center; z-index: 100; transition: all 0.3s ease; } .navbar.scrolled { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 15px 100px; box-shadow: var(--shadow); } .navbar .logo { color: var(--text-light); font-size: 2rem; font-weight: 700; text-decoration: none; text-transform: uppercase; letter-spacing: 2px; } .navbar .logo span { color: var(--primary-color); } .navbar .nav-links { display: flex; gap: 30px; } .navbar .nav-links li { list-style: none; } .navbar .nav-links a { color: var(--text-light); text-decoration: none; font-weight: 500; letter-spacing: 1px; transition: all 0.3s ease; position: relative; } .navbar .nav-links a:hover { color: var(--primary-color); } .navbar .nav-links a::after { content: ''; position: absolute; width: 0; height: 2px; background: var(--primary-color); bottom: -5px; left: 0; transition: width 0.3s ease; } .navbar .nav-links a:hover::after { width: 100%; } /* Contact Form Section */ .contact-section { padding: 100px 0; background-color: #f5f7fa; } .section-title { text-align: center; margin-bottom: 60px; position: relative; } .section-title h2 { font-size: 2.5rem; color: var(--text-dark); margin-bottom: 15px; position: relative; display: inline-block; } .section-title h2::after { content: ''; position: absolute; width: 70px; height: 3px; background: var(--primary-color); bottom: -10px; left: 50%; transform: translateX(-50%); } .section-title p { font-size: 1.1rem; color: #666; max-width: 700px; margin: 0 auto; } .contact-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; max-width: 1200px; margin: 0 auto; padding: 0 20px; } .contact-info { flex: 1 1 300px; background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--glass-border); border-radius: 15px; padding: 40px; box-shadow: var(--shadow); transition: transform 0.3s ease; } .contact-info:hover { transform: translateY(-10px); } .contact-info h3 { font-size: 1.5rem; color: var(--text-dark); margin-bottom: 20px; position: relative; padding-bottom: 10px; } .contact-info h3::after { content: ''; position: absolute; width: 50px; height: 2px; background: var(--primary-color); bottom: 0; left: 0; } .info-item { display: flex; align-items: flex-start; margin-bottom: 20px; } .info-item i { font-size: 1.2rem; color: var(--primary-color); margin-right: 15px; margin-top: 5px; } .info-content h4 { font-size: 1.1rem; color: var(--text-dark); margin-bottom: 5px; } .info-content p, .info-content a { color: #666; text-decoration: none; transition: color 0.3s ease; } .info-content a:hover { color: var(--primary-dark); } .contact-form { flex: 1 1 500px; background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--glass-border); border-radius: 15px; padding: 40px; box-shadow: var(--shadow); transition: transform 0.3s ease; } .contact-form:hover { transform: translateY(-10px); } .form-group { margin-bottom: 25px; position: relative; } .form-group label { display: block; font-size: 1rem; color: var(--text-dark); margin-bottom: 8px; font-weight: 500; } .form-control { width: 100%; height: 50px; background: rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 8px; padding: 0 15px; font-size: 1rem; color: var(--text-dark); transition: all 0.3s ease; } .form-control:focus { outline: none; border-color: var(--primary-color); background: rgba(255, 255, 255, 0.3); box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.2); } textarea.form-control { height: 150px; padding: 15px; resize: none; } .submit-btn { background: var(--primary-color); color: var(--text-dark); border: none; padding: 12px 30px; font-size: 1rem; font-weight: 600; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; display: inline-block; text-transform: uppercase; letter-spacing: 1px; } .submit-btn:hover { background: var(--primary-dark); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(255, 200, 0, 0.2); } /* Team Section */ .team-section { padding: 100px 0; background: linear-gradient(to bottom, #f5f7fa 0%, #ffffff 100%); } .team-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } .team-members { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; margin-top: 50px; } .team-card { flex: 1 1 300px; max-width: 350px; background: white; border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); position: relative; } .team-card:hover { transform: translateY(-10px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); } .team-img { height: 300px; overflow: hidden; position: relative; } .team-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } .team-card:hover .team-img img { transform: scale(1.05); } .team-content { padding: 25px; text-align: center; position: relative; z-index: 1; } .team-content h3 { font-size: 1.4rem; color: var(--text-dark); margin-bottom: 5px; } .team-content p { color: var(--primary-dark); font-weight: 600; margin-bottom: 15px; } .team-content .social-links { display: flex; justify-content: center; gap: 15px; } .team-content .social-links a { display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; background: var(--primary-light); color: var(--text-dark); border-radius: 50%; transition: all 0.3s ease; } .team-content .social-links a:hover { background: var(--primary-color); transform: translateY(-3px); } .team-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 100%); opacity: 0; transition: opacity 0.3s ease; } .team-card:hover::before { opacity: 1; } /* Testimonials Section */ .testimonials-section { padding: 100px 0; background: linear-gradient(135deg, #ffffff 0%, #fff4d1 100%); } .testimonials-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } .swiper { width: 100%; height: 100%; padding: 50px 0; } .swiper-slide { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--glass-border); border-radius: 15px; padding: 40px; box-shadow: var(--shadow); transition: all 0.3s ease; } .swiper-slide:hover { transform: translateY(-10px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1); } .testimonial-content { margin-bottom: 20px; position: relative; } .testimonial-content i { font-size: 2rem; color: var(--primary-color); opacity: 0.5; position: absolute; top: -10px; left: -10px; } .testimonial-content p { font-size: 1.1rem; color: var(--text-dark); line-height: 1.6; font-style: italic; } .testimonial-author { display: flex; align-items: center; } .testimonial-author img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; margin-right: 15px; border: 3px solid var(--primary-color); } .author-info h4 { font-size: 1.2rem; color: var(--text-dark); margin-bottom: 5px; } .author-info p { color: #666; font-size: 0.9rem; } .swiper-pagination-bullet { width: 12px; height: 12px; background: #ccc; opacity: 1; } .swiper-pagination-bullet-active { background: var(--primary-color); } /* FAQ Section */ .faq-section { padding: 100px 0; background: #f5f7fa; } .faq-container { max-width: 800px; margin: 0 auto; padding: 0 20px; } .accordion { width: 100%; margin-top: 50px; } .accordion-item { margin-bottom: 20px; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); background: white; transition: all 0.3s ease; } .accordion-item:hover { box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); } .accordion-header { padding: 20px; background: white; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: all 0.3s ease; } .accordion-header:hover { background: #fff9e6; } .accordion-header h3 { font-size: 1.2rem; color: var(--text-dark); font-weight: 600; } .accordion-header i { font-size: 1.2rem; color: var(--primary-color); transition: transform 0.3s ease; } .accordion-item.active .accordion-header i { transform: rotate(180deg); } .accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; background: #fffefa; } .accordion-content-inner { padding: 0 20px 20px; } .accordion-content p { color: #666; line-height: 1.6; } /* Map Section */ .map-section { padding: 0 0 100px; } .map-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } .map-wrapper { height: 500px; border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); position: relative; } .map-wrapper iframe { width: 100%; height: 100%; border: none; } .map-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(255, 215, 0, 0.1) 0%, transparent 100%); pointer-events: none; } /* Footer */ .footer { background: var(--text-dark); color: var(--text-light); padding: 80px 0 30px; } .footer-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; flex-wrap: wrap; gap: 40px; } .footer-col { flex: 1 1 250px; } .footer-col h3 { font-size: 1.3rem; margin-bottom: 25px; position: relative; padding-bottom: 10px; } .footer-col h3::after { content: ''; position: absolute; width: 50px; height: 2px; background: var(--primary-color); bottom: 0; left: 0; } .footer-col p { color: #bbb; line-height: 1.6; margin-bottom: 20px; } .footer-links li { list-style: none; margin-bottom: 15px; } .footer-links a { color: #bbb; text-decoration: none; transition: color 0.3s ease; display: inline-block; } .footer-links a:hover { color: var(--primary-color); transform: translateX(5px); } .footer-col .social-links { display: flex; gap: 15px; margin-top: 20px; } .footer-col .social-links a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: rgba(255, 255, 255, 0.1); color: var(--text-light); border-radius: 50%; transition: all 0.3s ease; } .footer-col .social-links a:hover { background: var(--primary-color); color: var(--text-dark); transform: translateY(-5px); } .footer-bottom { text-align: center; padding-top: 40px; margin-top: 40px; border-top: 1px solid rgba(255, 255, 255, 0.1); } .footer-bottom p { color: #bbb; font-size: 0.9rem; } /* Velvet Caption Effect */ .velvet-caption { position: relative; display: inline-block; overflow: hidden; } .velvet-caption::after { content: attr(data-text); position: absolute; top: 0; left: 0; color: var(--primary-color); clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%); transition: clip-path 0.8s cubic-bezier(0.19, 1, 0.22, 1); } .velvet-caption:hover::after { clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); } /* Responsive Styles */ @media (max-width: 992px) { .navbar { padding: 20px 50px; } .navbar.scrolled { padding: 15px 50px; } .header-content h1 { font-size: 3.5rem; } } @media (max-width: 768px) { .navbar { padding: 20px 30px; } .navbar.scrolled { padding: 15px 30px; } .header-content h1 { font-size: 2.8rem; } .header-content p { font-size: 1rem; } .section-title h2 { font-size: 2rem; } .contact-container { flex-direction: column; } .contact-info, .contact-form { flex: 1 1 100%; } .map-wrapper { height: 400px; } } @media (max-width: 576px) { .navbar { padding: 15px 20px; } .navbar.scrolled { padding: 10px 20px; } .nav-links { display: none; } .header-content h1 { font-size: 2.2rem; } .section-title h2 { font-size: 1.8rem; } .swiper-slide { padding: 30px 20px; } .testimonial-author { flex-direction: column; align-items: flex-start; } .testimonial-author img { margin-bottom: 15px; } .map-wrapper { height: 300px; } }
JavaScript
// Parallax Effect for Header window.addEventListener('scroll', function() { const header = document.querySelector('.header'); let scrollPosition = window.scrollY; header.style.backgroundPositionY = scrollPosition * 0.7 + 'px'; // Navbar scroll effect const navbar = document.querySelector('.navbar'); if (scrollPosition > 100) { navbar.classList.add('scrolled'); } else { navbar.classList.remove('scrolled'); } }); // Initialize Swiper const swiper = new Swiper('.mySwiper', { slidesPerView: 1, spaceBetween: 30, loop: true, pagination: { el: '.swiper-pagination', clickable: true, }, autoplay: { delay: 5000, disableOnInteraction: false, }, breakpoints: { 768: { slidesPerView: 2, } } }); // Accordion Functionality const accordionItems = document.querySelectorAll('.accordion-item'); accordionItems.forEach(item => { const header = item.querySelector('.accordion-header'); header.addEventListener('click', () => { const currentlyActive = document.querySelector('.accordion-item.active'); if(currentlyActive && currentlyActive !== item) { currentlyActive.classList.remove('active'); currentlyActive.querySelector('.accordion-content').style.maxHeight = null; } item.classList.toggle('active'); const content = item.querySelector('.accordion-content'); if(item.classList.contains('active')) { content.style.maxHeight = content.scrollHeight + 'px'; } else { content.style.maxHeight = null; } }); }); // Form Submission const contactForm = document.getElementById('contactForm'); contactForm.addEventListener('submit', function(e) { e.preventDefault(); // Here you would typically send the form data to a server alert('Thank you for your message! We will get back to you soon.'); contactForm.reset(); }); // 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' }); }); }); // Animation on Scroll function animateOnScroll() { const elements = document.querySelectorAll('.header-content h1, .header-content p'); elements.forEach(element => { const elementPosition = element.getBoundingClientRect().top; const screenPosition = window.innerHeight / 1.3; if(elementPosition < screenPosition) { element.style.animation = 'elegantReveal 1s ease forwards'; } }); } window.addEventListener('scroll', animateOnScroll); animateOnScroll(); // Run once on page load
Output Preview
Desktop
Mobile
Fullscreen