/* ------------- */
/* HTML */
/* ------------- */
html,
body {
background-color: #1e1e1e;
color: #eff1f3;
margin: 0;
padding: 0;
overflow: auto;
height: 100%;
display: flex;
flex-direction: column;
}
/* --------------- */
/* 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;
}
/* ------------------- */
/* Connexion */
/* ------------------- */
h1 {
font-size: 45px; /* Taille de la police */
color: #eff1f3;
white-space: nowrap;
}
#connexion {
display: flex; /* Ajouté pour aligner les enfants */
justify-content: center; /* Centrer les éléments verticalement */
align-items: center; /* Centrer les éléments horizontalement */
flex: 1;; /* Prend toute la hauteur de l'écran */
}
.building {
width: 23%;
height: 640px;
border-radius: 33px;
padding-left: 8%;
background-image: url("/images/building.jpg");
background-size: cover;
}
.page-connexion {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
border-radius: 24px;
background-color: #2c2c2c;
padding: 40px 60px; /* Augmente l'espace intérieur */
width: 100%; /* Prend toute la largeur disponible */
max-width: 400px; /* Définit une largeur max pour éviter qu'elle ne devienne trop étroite */
box-shadow: 0 4px 8px 0 rgba(21, 21, 21, 0.2);
}
.form-group {
width: 100%;
position: relative; /* Position relative */
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
}
.form-group .icon {
position: absolute;
left: 15px; /* Ajuste la position des icônes */
top: 50%;
transform: translateY(-50%);
}
.form-group .icon svg {
width: 24px;
height: 24px;
fill: #191717;
}
.form-control-connexion {
width: 100%;
padding-left: 50px; /* Remplissage à gauche de 55px */
padding-right: 80px;
height: 48px; /* Hauteur de 40px */
border-radius: 34px; /* Bordure arrondie */
font-size: 16px; /* Taille de la police */
letter-spacing: 0.5px; /* Espacement des lettres */
background-color: #eff1f3; /* Couleur de fond */
border: none; /* Supprimer la bordure */
}
.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: 10px; /* Centrage vertical */
cursor: pointer;
}
.bouton-connexion:hover {
border-color: #eff1f3;
color: #00a8e8;
background-color: #eff1f3; /* Changer la couleur au survol */
}
.lien {
display: inline-block; /* Permet de mieux gérer la taille du soulignement */
text-align: center;
margin-bottom: 15px;
font-size: 20px; /* Taille de la police */
color: #eff1f3;
text-decoration: none; /* Supprime le soulignement par défaut */
text-underline-offset: 10px; /* Augmente l'espace entre le texte et le soulignement */
cursor: pointer;
padding-bottom: 10px; /* Ajoute un petit espace sous le texte */
position: relative; /* Positionner l'élément par rapport à son parent */
}
.lien::after {
content: "";
display: block;
width: 150%; /* La ligne est maintenant 1.5 fois plus grande que le texte */
height: 2px; /* Épaisseur du soulignement */
background-color: #eff1f3; /* Couleur du soulignement */
position: absolute;
left: 50%; /* Centre la ligne horizontalement */
transform: translateX(
-50%
); /* Déplace la ligne pour qu'elle soit exactement centrée */
bottom: 0;
}
.lien:hover {
color: #0077b6;
}
.cellule {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
margin-left: 9%;
}
/* --------------- */
/* 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) {
h1 {
font-size: 60px;
}
.building {
height: 700px;
}
.form-control-connexion {
font-size: 18px;
height: 52px;
}
}
/* TABLETTE - Moyenne (1025px à 1440px) */
@media (max-width: 1440px) and (min-width: 1025px) {
h1 {
font-size: 48px;
}
.building {
height: 600px;
width: 28%;
padding-left: 5%;
}
.page-connexion {
padding: 40px 40px;
}
.form-control-connexion {
font-size: 16px;
}
}
/* 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;
}
h1 {
font-size: 40px;
text-align: center;
}
#connexion {
flex-direction: column;
padding: 40px 20px;
}
.building {
width: 100%;
height: 300px;
border-radius: 20px;
padding: 0;
margin-bottom: 30px;
}
.page-connexion {
max-width: 100%;
}
.form-control-connexion {
font-size: 15px;
}
}
/* MOBILE (≤ 768px) */
@media (max-width: 768px) {
header {
flex-direction: column;
align-items: center;
gap: 15px;
padding: 20px;
}
.header_text {
flex-direction: column;
align-items: center;
gap: 10px;
font-size: 16px;
}
.bouton_connexion {
width: auto;
padding: 10px 16px;
font-size: 14px;
}
#smart_building {
width: 80px;
margin-left: 0;
}
h1 {
font-size: 32px;
text-align: center;
}
#connexion {
flex-direction: column;
padding: 20px;
}
.building {
width: 100%;
height: 250px;
padding: 0;
margin-bottom: 20px;
}
.page-connexion {
padding: 30px 20px;
max-width: 100%;
}
.form-control-connexion {
font-size: 14px;
height: 44px;
}
footer {
flex-direction: column;
gap: 10px;
text-align: center;
align-items: center;
}
.footer_link {
flex-direction: column;
gap: 10px;
}
.copyright {
padding: 0;
}
}
/* TÉLÉPHONE TRÈS PETIT (≤ 480px) */
@media (max-width: 480px) {
h1 {
font-size: 26px;
}
.form-control-connexion {
font-size: 13px;
padding-left: 40px;
height: 40px;
}
.form-group .icon svg {
width: 20px;
height: 20px;
}
.page-connexion {
padding: 20px 10px;
}
.bouton-connexion {
font-size: 14px;
padding: 8px 14px;
}
.lien {
font-size: 16px;
}
#smart_building {
width: 60px;
}
}