/* ==================================================== */
/* GENERAL ============================================ */
/* ==================================================== */

* {
    padding: 0;
}

body {
    margin: 0;
    background-color: #333333;
    color: white;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}

main {
    padding: 40px;
}

.flex {
    display: flex;
    justify-content: space-around;
}

section {
    padding: 10px;
}

/* ==================================================== */
/* HEADER ============================================= */
/* ==================================================== */
header {
    background-color: black;
    padding: 20px 10px;
}

header nav ul {
    display: flex;
    justify-content: flex-start;
}

header nav ul li {
    list-style-type: none;
    margin: 0 20px;
}

header nav ul li a {
    text-decoration: none;
    color: darksalmon;
}

header nav ul li a:hover {
    color: gold;
}

/* ==================================================== */
/* FOOTER ============================================= */
/* ==================================================== */
footer {
    color: white;
    padding: 50px 25px;
    background-color: black;
}

footer h1 {
    margin-bottom: 1rem;
    font-size: 1rem;
}

footer nav ul li {
    list-style-type: none;
}

footer nav ul li a {
    text-decoration: none;
    color: goldenrod;
}

footer nav ul li a:hover {
    color: darkorange;
}

footer p {
    text-align: center;
}

.contact {
    background-image: url(../img/code-3.jpg);
    background-size: cover;
}

.telephone{
    color: #34d7e9;
}

/* ==================================================== */
/* ACCUEIL ============================================ */
/* ==================================================== */

.accueil main {
    height: 50vh;
    background-image: url(../img/code-2.jpg);
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
}

.accueil main .infos {
    position: relative;
    z-index: 10;
}

.accueil main h1 {
    font-size: clamp(40px, 2vw, 30px);
    margin: 15px;
}

.accueil main h2 {
    display: flex;
    justify-content: center;
    font-size: clamp(25px, 2.5vw, 35px);
}

.name-fields {
    position: absolute;
    text-align: center;
    font-size: 20px;
    bottom: 15px;
    left: 20%;
}

.formul {
    display: flex;
    justify-content: center;
    position: relative;
    font-size: 25px;
    top: 20px;
}

.h3 {
    display: flex;
    justify-content: center;
    position: relative;
    font-size: 1.7rem;
    top: 300px;
    padding: 20px;
}

.tel {
    position: absolute;
    top: 845px;
    font-size: 20px;
    padding: 25px;
    line-height: 30px;
}

.p1 {
    color: darkgray;
}

.nav3>div {
    margin-bottom: 3rem;
}

.nav3{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.nav3 h2 {
    margin-bottom: 1rem;
    padding: 5px;
}

.nav3 p {
    border-radius: 15px;
    border: 1px solid grey;
    padding: 20px;
    background-color: grey;
}

.nav3 p img{
    height: 200px;
    object-fit: cover;
    object-position: top;
}

h1 {
    padding: 10px;
    font-size: 20px;
}

.section {
    padding: 15px;
}

.section h1 {
    position: relative;
    bottom: 20px;
    font-size: 26px;
}

@media screen and (min-width:1024px) {
    .titre {
        position: absolute;
        font-size: 30px;
        left: 60%;
        top: 500px;
    }

    .ul {
        font-size: 20px;
        top: 550px;
        letter-spacing: 5px;
    }

    .ul1 {
        position: relative;
        left: 250%;
    }

    .h3 {
        top: 290px;
        position: relative;
        font-size: 30px;
    }

    .tel {
        position: absolute;
        font-size: 20px;
        top: 850px;
        line-height: 30px;
    }

    .formul {
        position: relative;
        bottom: 200px;
        right: 350px;
    }

    .name-fields {
        position: absolute;
        font-size: 20px;
        left: 23%;
    }

    .nav3{
    flex-wrap: unset;
}

div{
    padding: 20px;
}

}

@media screen and (min-width:768px) {
    .formul {
        right: 150px;
    }

    .h3 {
        right: 280px;
    }

    .ul {
        left: 250px;
    }

}

/* ==================================================== */
/* CONTACT ============================================ */
/* ==================================================== */

.contact main {
    border: 2px solid grey;
    display: flex;
    z-index: 1;
    text-align: center;
    flex-direction: column;
    align-items: center;
}

input {
    display: flex;
    justify-content: center;
    text-align: center;
    font-size: 20px;
    box-sizing: border-box;
    border-radius: 10px;
    z-index: 1;
    line-height: 35px;
}

.c {
    position: relative;
    padding: 20px;
    top: 35px;
    font-size: 30px;
}

.nav4 {
    line-height: 30px;
    left: 10%;
}

.telephone {
    line-height: 30px;
}

.name-field {
    font-size: 25px;
    line-height: 40px;
}

.input{
    margin: 8px;
}

@media screen and (min-width:768px) {
    .c {
        position: relative;
    }

    .name-field {
        position: relative;
        font-size: 25px;
    }

}

@media screen and (min-width:1024px) {
    .c {
        bottom: 5px;
    }

    .name-field {
        font-size: 26px;
    }

    .a {
        position: relative;
        left: 30%;
    }

    .h2 {
        top: 105px;
    }
}

/* ==================================================== */
/*Compétence ========================================== */
/* ==================================================== */



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

    h1 {
        display: flex;
        justify-content: center;
    }

}

@media screen and (min-width:1024px) {

    h1 {
        display: flex;
        justify-content: center;
    }

    

}


/* ==================================================== */
/*Portfolio =========================================== */
/* ==================================================== */

main h1 {
    position: relative;
    bottom: 20px;
}

.nav3 p{
    text-align: center;
}

.nav3 div p {
    font-size: 20px;
    line-height: 30px;
}

.nav3 div h2 {
    font-size: 20px;
}


@media screen and (min-width:1024px) {
.nav3{
    justify-content: space-around;
}
}

