/* Variables & Reset */ :root { --vert-fonce: #154e1f; --vert-clair: #659b1f; --blanc: #ffffff; --fond-gris: #f4f6f4; --texte-sombre: #2c3e50; } * { margin: 0; padding: 0; box-sizing: border-box; } body { color: var(--texte-sombre); line-height: 1.5; overflow-x: hidden; background: #f4f6f4; font-family: "Arial Black", serif; } /* Header */ header { background-color: var(--blanc); display: flex; flex-direction: column; align-items: center; padding: 1.5rem 1rem; text-align: center; border-bottom: #154e1f solid 2px; } #logo { width: 120px; height: auto; margin-bottom: 0.5rem; } header h1 { color: var(--vert-fonce); font-size: 1.4rem; margin-bottom: 0; text-transform: uppercase; letter-spacing: 1px; } /* Réseaux Sociaux */ .réseaux { background-color: var(--blanc); display: flex; justify-content: center; gap: 2rem; padding: 10px 0px 15px 0px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); } .réseaux a { color: var(--vert-fonce); font-size: 1.8rem; text-decoration: none; transition: color 0.3s, transform 0.2s; } .réseaux a:active, .réseaux a:hover { color: var(--vert-clair); transform: scale(1.1); } /* Main */ main { max-width: 1200px; margin: 0 auto; padding: 0 1rem; } hr { border: none; height: 1px; background-color: var(--vert-clair); opacity: 0.3; margin: 2rem 0; } /* Bannière */ .banner { display: flex; flex-direction: column; align-items: center; text-align: justify; } #photo { width: 100vw; margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); margin-top: 0; margin-bottom: 1.5rem; height: 250px; object-fit: cover; border-radius: 0; box-shadow: none; } /* Projets */ .projets h2 { color: var(--vert-fonce); text-align: center; font-size: 1.5rem; margin-bottom: 0.2rem; } /* Indicateur de Défilement */ .projets h2::after { content: "\f337 Glissez pour voir plus"; font-family: "Font Awesome 6 Free"; font-weight: 900; display: block; font-size: 0.9rem; color: #7f8c8d; margin-top: 0.4rem; margin-bottom: 1.5rem; } /* Carrousel */ .projets > div { display: flex; flex-direction: row; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding-bottom: 1.5rem; scrollbar-width: thin; scrollbar-color: var(--vert-clair) rgba(0,0,0,0.05); } /* Scrollbar Personnalisée */ .projets > div::-webkit-scrollbar { height: 6px; display: block; } .projets > div::-webkit-scrollbar-track { background: rgba(0,0,0,0.05); border-radius: 10px; } .projets > div::-webkit-scrollbar-thumb { background: var(--vert-clair); border-radius: 10px; } /* Cartes Projets */ .projets > div > div { flex: 0 0 100%; scroll-snap-align: center; background-color: var(--blanc); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .projets img { width: 100%; height: 220px; object-fit: cover; display: block; } .projets p { padding: 1rem; text-align: center; font-size: 0.95rem; } /* Footer */ footer { background-color: rgb(78 125 19 / 0.88); color: var(--blanc); text-align: center; padding: 2rem 1rem; margin-top: 2rem; font-size: 0.95rem; } /* Footer Layout */ .footer-sections { display: flex; flex-direction: column; align-items: center; gap: 2rem; margin-bottom: 1rem; } .footer-block { width: 100%; } .footer-block h3 { font-size: 1.2rem; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 1px; } .footer-block p { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 0.8rem; word-break: break-word; } .footer-block i { width: 20px; text-align: center; } /* Media Queries */ @media (min-width: 768px) { #photo { height: 350px; margin-bottom: 2rem; } .projets h2::after { display: none; } .projets > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; overflow-x: visible; scroll-snap-type: none; padding-bottom: 0; } .projets > div > div { flex: auto; } .footer-sections { flex-direction: row; justify-content: space-around; align-items: flex-start; max-width: 800px; margin-left: auto; margin-right: auto; text-align: left; } .footer-block p { justify-content: flex-start; } }