/**** Style général de la page ****/

.introduction {
    display: flex;
    flex-direction: row;
}

.introduction img {
    border-radius: 8px;
}

.presentation {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

em {
    color: var(--important);
    font-style: italic;
}

.last__project {
    background-color: var(--colorSecondary);
}
  
.last__project h2 {
    color: var(--text);
}
  
.last__project article {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 25px;
    margin-bottom: 15px;
}

.img__link {
    width: 32%;
    height: 312px;
    position: relative;
}

.last__project img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-in-out,
                box-shadow 0.3s ease-in-out;
}

.last__project img:hover {
    transform: scale(1.01);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.69);
}

.contact h2 {
    color: var(--colorSecondary);
}
  
form {
    display: flex;
    flex-direction: column;
    margin: auto;
    color: var(--colorSecondary);
    position: relative;
}
  
.name__email__form {
    display: flex;
    flex-direction: row;
    gap: 20px;
}
  
.form__column {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}
  
input,
textarea {
    padding: 15px;
    border-radius: 3px;
    font-family: var(--manrope);
    font-size: 1em;
    transition: box-shadow 0.3s ease-in-out;
}

input:focus, 
textarea:focus {
    box-shadow: 0 1px 6px var(--paragraph);
}
  
label {
    font-size: 1em;
    margin-bottom: 10px;
}

#nameErrorMessage,
#emailErrorMessage {
    margin: 10px 0;
    font-size: 0.9em;
}

#message {
    resize: none;
    height: 220px;
}

form span {
    position: absolute;
    bottom: 96px;
    right: 15px;
    color: var(--text);
}

  
input[type="submit"] {
    width: 200px;
    margin: auto;
    margin-top: 30px;
    cursor: pointer;
}

/**** Responsive design Tablette ****/

@media screen and (max-width: 992px) {
    .introduction {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
    }

    .presentation h1, 
    .presentation p {
        margin: 15px;
    }

    .last__project article {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .last__project article,
    .img__link {
        width: 100%;
    }
}

/**** Responsive design Mobile ****/

@media screen and (max-width: 768px) {

    .introduction img, 
    article {
        width: 100%;
    }

    .name__email__form {
        flex-direction: column;
    }

    #message {
        height: 300px;
    }

    label:nth-child(2) {
        margin-top: 10px;
    }
}