/* ------------- */ /* HTML */ /* ------------- */ html, body { font-family: "Inter", sans-serif; background-color: #1e1e1e; color: #eff1f3; margin: 0; padding: 0; overflow: auto; height: 100%; /* Définit la hauteur de la page à 100% */ display: flex; /* Flexbox sur le body */ flex-direction: column; /* Aligne le contenu du body en colonne */ } /* --------------- */ /* Header */ /* --------------- */ header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 10px 40px; } header a { text-decoration: none; color: #eff1f3; } header ul { list-style: none; display: flex; align-items: center; } header li { cursor: pointer; } .header_text { display: flex; flex-grow: 1; /* Le conteneur des liens prend toute la place disponible */ justify-content: center; /* Centre les liens horizontalement */ gap: 15%; /* Espace entre les liens */ font-weight: 600; } .header_text a { padding: 0 10px; } .header_text li a:hover { color: #00a8e8; } .bouton_connexion { padding: 10px 20px; border-radius: 900px; font-size: 16px; /* Taille de la police */ border-color: #00a8e8; color: #eff1f3; background-color: #00a8e8; margin-top: 0; cursor: pointer; } .bouton_connexion:hover { border-color: #eff1f3; color: #00a8e8; background-color: #eff1f3; /* Changer la couleur au survol */ } #smart_building { width: 13%; margin-left: -40px; height: auto; } /* ------------- */ /* Main */ /* ------------- */ main { display: flex; flex-grow: 1; /* Permet à la section principale d'occuper l'espace restant */ justify-content: center; /* Centre verticalement le contenu */ align-items: center; /* Centre horizontalement le contenu */ padding-bottom: 50px; gap: 30px; /* Espace entre les 2 sections */ } .left-panel { flex: 3; /* 30% de la largeur totale */ display: flex; justify-content: center; /* Centrer l'image horizontalement */ align-items: center; /* Centrer l'image verticalement */ } .left-panel img { width: 100%; /* L'image prend toute la largeur de son conteneur */ max-width: 450px; /* Maximum de 300px de largeur */ height: auto; /* La hauteur de l'image s'ajuste automatiquement */ border-radius: 32px; } .right-panel { flex: 7; /* 70% de la largeur totale */ } .right-panel h1 { font-size: 60px; margin-bottom: 60px; padding-left: 70px; /* Ajoute un espacement à gauche du titre */ } .features { display: grid; grid-template-columns: repeat(4, 1fr); /* 4 ronds par ligne */ gap: 30px; justify-items: center; } .feature { display: flex; flex-direction: column; align-items: center; text-align: center; } .features a{ text-decoration: none; color: #eff1f3; } .circle { width: 150px; height: 150px; background-color: #eff1f3; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background-color 0.3s, color 0.3s; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); } .circle:hover { background-color: #2c2c2c; cursor: pointer; } .circle i { font-size: 70px; fill: #2c2c2c; color: #2c2c2c; transition: fill 0.3s, color 0.3s; } .circle:hover i { fill: #eff1f3; color: #eff1f3; } /* --------------- */ /* Footer */ /* --------------- */ footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; font-size: 14px; text-transform: uppercase; padding: 20px; margin-top: auto; /* Cela force le footer à se pousser vers le bas */ } .copyright { padding: 10px 20px; } footer a { text-decoration: none; color: #eff1f3; } .footer_link { display: flex; flex-grow: 1; gap: 10%; } .footer_link a { padding: 0 10px; } .copyright { padding: 10px 20px; } /* ------------------------- */ /* Responsive Design */ /* ------------------------- */ /* GRAND ÉCRAN (> 1440px) */ @media (min-width: 1440px) { .right-panel h1 { font-size: 72px; } .circle { width: 180px; height: 180px; } .circle i { font-size: 80px; } } /* TABLETTE - Moyenne (1025px à 1440px) */ @media (max-width: 1440px) and (min-width: 1025px) { .features { grid-template-columns: repeat(3, 1fr); } .right-panel h1 { font-size: 48px; padding-left: 30px; } .circle { width: 130px; height: 130px; } .circle i { font-size: 50px; } } /* TABLETTE - Petite (769px à 1024px) */ @media (max-width: 1024px) and (min-width: 769px) { header { flex-wrap: wrap; justify-content: center; padding: 20px; gap: 20px; } #smart_building { width: 100px; margin: 0; } .header_text { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 30px; } .bouton_connexion { padding: 8px 16px; font-size: 14px; } main { flex-direction: column; padding: 40px; } .left-panel, .right-panel { width: 100%; flex: none; } .features { grid-template-columns: repeat(2, 1fr); } .right-panel h1 { font-size: 42px; padding-left: 0; text-align: center; } } /* MOBILE (≤ 768px) */ @media (max-width: 768px) { header { flex-direction: column; align-items: center; gap: 15px; } #smart_building { width: 90px; height: auto; margin: 0 auto; } .header_text { flex-direction: column; align-items: center; gap: 10px; font-size: 16px; } .bouton_connexion { padding: 10px 20px; width: auto; text-align: center; } main { flex-direction: column; padding: 20px; } .left-panel, .right-panel { width: 100%; flex: unset; } .right-panel h1 { font-size: 36px; padding-left: 0; text-align: center; margin-bottom: 30px; } .features { grid-template-columns: 1fr; gap: 20px; } .circle { width: 100px; height: 100px; } .circle i { font-size: 40px; } footer { flex-direction: column; text-align: center; gap: 10px; align-items: center; } .footer_link { flex-direction: column; align-items: center; gap: 10px; } .copyright { padding: 0; } } /* TÉLÉPHONE TRÈS PETIT (≤ 480px) */ @media (max-width: 480px) { main { padding: 20px 10px; } .right-panel h1 { font-size: 28px; margin-bottom: 20px; } .circle { width: 80px; height: 80px; } .circle i { font-size: 32px; } .form-control-inscription { font-size: 14px; padding: 8px; } #smart_building { width: 70px; } .bouton_connexion { font-size: 14px; padding: 8px 16px; } } /* ------------------------- */ /* Transitions douces */ /* ------------------------- */ * { transition: all 0.3s ease-in-out; }