:root {
--main-color: rgb(120, 120, 120); 
--font-size: 16px;    
}

/* Reset global styles */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Other global styles */
body, html {
    height: 100%;
    font-family: 'Open Sans', arial, sans-serif;
    background: linear-gradient(-30deg, #585458, #403b42, #454347, #4f4e50, #636364);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
    display: flex;
    flex-direction: column;
    text-align: center;
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
#home h1 {
    color:#ffffff; 
}
#about h2 {
    color:#ffffff;
}
#services h3 {
    color:#fff;
}
#contact h4 {
    color:#fff;
}
#contact label {
    color:#fff;
}

/* Navigation styles */
ul {
    margin: 0px auto 0;
    padding: 0;
    list-style: none;
    display: table;
    width: 600px;
    text-align: center;
}

li {
    display: table-cell;
    position: relative;
    padding: 15px 0;
}

a {
    color: #ffffff;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.15em;
    display: inline-block;
    padding: 15px 20px;
    position: relative;
}

a:after {
    background: none repeat scroll 0 0 transparent;
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    background: #fff;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0;
}

a:hover:after {
    width: 100%;
    left: 0;
}

@media screen and (max-height: 300px) {
    ul {
        margin-top: 40px;
    }
}

/* Other styles */
h1 {
    color: var(--main-color);
}

header {
    background-color: transparent;
    padding: 20px;
}

nav ul {
    list-style: none;
}

nav ul li {
    display: inline;
    margin-right: 20px;
}

nav ul li a {
    text-decoration: none;
    color: #ffffff;
}

nav ul li a:hover {
    color: #ffffff;
}

.container {
    display: flex;
    flex-direction: column;
    color: #ffffff;
    text-align: center;
}

/* Flexbox styles for travaux */
.travaux-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 10px;
    width: 100%; /* Ensure the flex container takes the full width */
}

.travail {
    background-color: #ffffff;
    padding: 10px;
    margin: 5px;
    border: 1px solid #716464;
    border-radius: 5px;
    flex: 0 0 30%;
    max-width: 300px;
    width: 100%; /* Ensure each travail takes the full width */
    box-sizing: border-box;
}

/* Additional classes */
.Class1, .Class2, .Class3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.Class1 h1 {
    font-size: 50px;
    color: var(--main-color);
    text-align: left;
    padding: 50px 0;
}

.Class1 img, .Class2 img, .Class3 img {
    transition: 0.5s ease-in-out;
    max-width: 100%;
    height: auto;
}

.Class1 img:hover, .Class2 img:hover, .Class3 img:hover {
    transform: scale(1.05);
}

.menu {
    display: flex;
    justify-content: center;
}

/* Footer styles */
footer {
    margin-top: auto; /* Push footer to the bottom */
}

 /* Conteneur principal */
 #texte {
    display: flex;
    flex-direction: column;
    max-width: 80%; /* Limite la largeur maximale à 80% de la largeur de la page */
    margin: 0px auto;
    padding: 2em;
    color: #ffffff;
    text-align: justify;
    line-height: 1.6;
    font-size: 18px;
    box-sizing: border-box; /* Assurer l'inclusion du padding dans la largeur */
   }
   
   video {
       width: 80%;
       max-width: 600px;
       height: auto;
   }

   .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: auto;
  }
  
  .row img {
    width: 400px;
    height: 400px;
    object-fit: cover;
  }

.projets-container {
    display: flex;
    gap: 64px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 64px;
}

.projet-card {
    background: rgb(35, 34, 34);
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.projet-card h3 {
    font-size: 24px;
    margin-bottom: 4px;
    text-align: center;
}

.projet-card p {
    font-size: 18px;
    margin: 0;
    color: #ffffff;
    text-align: center;
}

.images-scroll {
    max-height: 500px;
    overflow-y: auto;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.images-scroll img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    border: 1px solid #ccc;
}