<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Accueil - Green Travel</title> <link rel="stylesheet" href="css/styles.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> <style> body { font-family: 'Arial', sans-serif; margin: 0; padding: 0; color: #333; background-color: var(--primary-light); } header { background-color: var(--primary-green); padding: 15px 0; } header nav ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; } header nav ul li { margin: 0 15px; } header nav ul li a { text-decoration: none; color: #fff; font-weight: bold; } header nav ul li a.active { text-decoration: underline; } main { max-width: 1200px; margin: 0 auto; padding: 20px; background-color: #fff; border-radius: 8px; box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); } main h1 { text-align: center; color: var(--primary-green); margin-bottom: 20px; } /* Styles du diaporama amélioré */ .hero { position: relative; height: 60vh; min-height: 400px; overflow: hidden; } .slideshow { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1.5s ease-in-out; background-size: cover; background-position: center; background-repeat: no-repeat; } .slide::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient( rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.5) ); } .slide.active { opacity: 1; } /* Indicateurs de slide plus élégants */ .slide-indicators { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); gap: 15px; z-index: 3; } .indicator { width: 40px; height: 4px; background: rgba(255, 255, 255, 0.3); cursor: pointer; transition: all 0.3s ease; } .indicator.active { background: var(--primary-green); width: 60px; } /* Contenu hero simplifié */ .hero-content { position: relative; z-index: 2; text-align: center; padding: 40px 60px; max-width: 900px; margin: 0 auto; background: rgba(0, 0, 0, 0.25); border-radius: 15px; backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2); } .hero h1 { font-size: 4em; margin-bottom: 25px; font-weight: 700; color: white; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); letter-spacing: 2px; } .hero p { font-size: 1.4em; margin: 25px auto; line-height: 1.6; max-width: 700px; color: #fff; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); } .cta-button { display: inline-block; padding: 15px 40px; background-color: var(--primary-green); color: white; text-decoration: none; border-radius: 8px; font-size: 1.3em; transition: all 0.3s ease; border: 2px solid transparent; font-weight: 600; margin-top: 20px; letter-spacing: 1px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } .cta-button:hover { background-color: transparent; border-color: var(--primary-green); transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3); } /* Suppression des éléments flottants et des vagues */ .floating-elements, .wave, .wave2 { display: none; } /* Badges simplifiés */ .eco-badges { display: flex; justify-content: center; gap: 25px; margin: 25px 0; } .eco-badge { background-color: rgba(255, 255, 255, 0.15); color: white; padding: 10px 20px; border-radius: 8px; font-size: 1.2em; display: flex; align-items: center; gap: 10px; backdrop-filter: blur(5px); border: 1px solid rgba(255, 255, 255, 0.2); transition: all 0.3s ease; } .eco-badge:hover { background-color: rgba(255, 255, 255, 0.25); transform: translateY(-2px); } .eco-badge i { color: var(--primary-green); font-size: 1.2em; } /* Section Statistiques */ .stats { background-color: var(--primary-light); padding: 20px 0; text-align: center; } .stats-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; max-width: 1200px; margin: 0 auto; padding: 10px; } .stat-item { background: white; padding: 15px; border-radius: 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); transition: transform 0.3s ease; } .stat-item:hover { transform: translateY(-10px); } .stat-item i { font-size: 1.8em; color: var(--primary-green); margin-bottom: 8px; } .stat-item h3 { font-size: 1.5em; color: var(--primary-green); margin: 5px 0; } .stat-item p { font-size: 0.9em; margin: 0; } /* Section Caractéristiques */ .features { padding: 25px 10px; background: white; } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; max-width: 1200px; margin: 0 auto; } .feature-card { background: var(--primary-light); padding: 15px; border-radius: 15px; text-align: center; transition: transform 0.3s ease; position: relative; overflow: hidden; } .feature-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, transparent, rgba(255,255,255,0.3), transparent); transform: translateX(-100%); transition: transform 0.6s ease; } .feature-card:hover::before { transform: translateX(100%); } .feature-card:hover { transform: translateY(-5px); } .feature-card i { font-size: 1.8em; color: var(--primary-green); margin-bottom: 10px; } .feature-card h3 { font-size: 1.2em; margin: 5px 0; } .feature-card p { font-size: 0.9em; margin: 5px 0; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .scroll-reveal { opacity: 0; transform: translateY(10px); transition: opacity 0.6s ease, transform 0.6s ease; } .scroll-reveal.visible { opacity: 1; transform: translateY(0); } /* Waves decoration */ .wave { position: absolute; bottom: 0; left: 0; width: 100%; height: 50px; background: url('https://raw.githubusercontent.com/SochavaAG/example-mycode/master/pens/animation-waves/images/wave.png'); background-size: 1000px 50px; animation: wave 30s linear infinite; opacity: 0.3; } .wave.wave2 { animation: wave2 15s linear infinite; opacity: 0.1; animation-delay: -5s; } @keyframes wave { 0% { background-position-x: 0; } 100% { background-position-x: 1000px; } } @keyframes wave2 { 0% { background-position-x: 0; } 100% { background-position-x: -1000px; } } /* Réduction des marges entre les sections */ section { margin: 10px 0; } /* Ajustement du responsive */ @media (max-width: 768px) { .hero { height: 50vh; min-height: 300px; } .hero-content { margin: 0 20px; padding: 30px; } .hero h1 { font-size: 2.8em; } .hero p { font-size: 1.2em; } .slide-indicators { left: 50%; transform: translateX(-50%); } .stats-container { grid-template-columns: repeat(2, 1fr); } .eco-badges { flex-direction: column; gap: 15px; } } </style> </head> <body> <header> <nav> <ul> <li><a href="index.html" class="active">Accueil</a></li> <li><a href="services.php">Services</a></li> <li><a href="about.html">À propos</a></li> <li><a href="equipe.html">Notre Équipe</a></li> <li><a href="contact.html">Contact</a></li> </ul> </nav> </header> <section class="hero"> <div class="slideshow"> <div class="slide active" style="background-image: url('https://images.unsplash.com/photo-1682686581030-e77f17e1ee73')"></div> <div class="slide" style="background-image: url('https://images.unsplash.com/photo-1682687982501-1e58ab814714')"></div> <div class="slide" style="background-image: url('https://images.unsplash.com/photo-1682687218147-9806132dc697')"></div> <div class="slide" style="background-image: url('https://images.unsplash.com/photo-1682687220067-469c053495b1')"></div> </div> <div class="hero-content"> <h1>Voyagez Responsable</h1> <div class="eco-badges"> <span class="eco-badge"> <i class="fas fa-leaf"></i> Éco-responsable </span> <span class="eco-badge"> <i class="fas fa-globe"></i> Durable </span> </div> <p>Découvrez des destinations éco-responsables et vivez des expériences uniques tout en préservant notre planète.</p> <a href="services.php" class="cta-button">Découvrir nos offres</a> </div> <div class="slide-indicators"> <span class="indicator active"></span> <span class="indicator"></span> <span class="indicator"></span> <span class="indicator"></span> </div> </section> <section class="stats"> <div class="stats-container"> <div class="stat-item scroll-reveal"> <i class="fas fa-tree"></i> <h3>1000+</h3> <p>Arbres plantés</p> </div> <div class="stat-item scroll-reveal"> <i class="fas fa-users"></i> <h3>5000+</h3> <p>Voyageurs satisfaits</p> </div> <div class="stat-item scroll-reveal"> <i class="fas fa-globe-americas"></i> <h3>20+</h3> <p>Destinations vertes</p> </div> <div class="stat-item scroll-reveal"> <i class="fas fa-handshake"></i> <h3>150+</h3> <p>Partenaires locaux</p> </div> </div> </section> <section class="features"> <div class="features-grid"> <div class="feature-card scroll-reveal"> <i class="fas fa-leaf"></i> <h3>Éco-responsable</h3> <p>Tous nos voyages sont conçus dans le respect de l'environnement.</p> </div> <div class="feature-card scroll-reveal"> <i class="fas fa-heart"></i> <h3>Authenticité</h3> <p>Vivez des expériences authentiques au contact des populations locales.</p> </div> <div class="feature-card scroll-reveal"> <i class="fas fa-shield-alt"></i> <h3>Engagement</h3> <p>Nous nous engageons pour un tourisme durable et responsable.</p> </div> </div> </section> <script> // Script pour le diaporama document.addEventListener('DOMContentLoaded', function() { const slides = document.querySelectorAll('.slide'); const indicators = document.querySelectorAll('.indicator'); let currentSlide = 0; const slideCount = slides.length; function nextSlide() { slides[currentSlide].classList.remove('active'); indicators[currentSlide].classList.remove('active'); currentSlide = (currentSlide + 1) % slideCount; slides[currentSlide].classList.add('active'); indicators[currentSlide].classList.add('active'); } // Changement manuel avec les indicateurs indicators.forEach((indicator, index) => { indicator.addEventListener('click', () => { slides[currentSlide].classList.remove('active'); indicators[currentSlide].classList.remove('active'); currentSlide = index; slides[currentSlide].classList.add('active'); indicators[currentSlide].classList.add('active'); }); }); // Changement automatique toutes les 5 secondes setInterval(nextSlide, 5000); }); // Animation au scroll const scrollRevealElements = document.querySelectorAll('.scroll-reveal'); const revealOnScroll = () => { scrollRevealElements.forEach(element => { const elementTop = element.getBoundingClientRect().top; const windowHeight = window.innerHeight; if (elementTop < windowHeight - 100) { element.classList.add('visible'); } }); }; window.addEventListener('scroll', revealOnScroll); window.addEventListener('load', revealOnScroll); </script> <footer> <p>© 2025 Green Travel. Tous droits réservés.</p> </footer> </body> </html>