*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'montserrat', sans-serif;
}

body{
    --color-primary: #38f3f3;
    --color-secondary:#282828;
    --color-tertiary: #ff4800;
    --color-quaternary:#cccccc;
}

.container-fluid .nav-bar{
    background-color: var(--color-tertiary);
    opacity: 1.5;
    width: 100%;
    border-style: none;
    position:static;
    left: 0;
    right: 0;
    z-index: 1000;
}

.container-fluid .container .navbar-brand img{
     width: 200px;
}

.container-fluid .container .collapse .navbar-nav .navbar-item{
    padding: 10px;
    color: #fff;
}
.container-fluid .container .navbar-toggler{
    width: 50px;
}

.container-fluid .container .navbar-toggler span{
    width: 50px;
}
.container-fluid .container .navbar-brand span img{
    color: #fff;
    font-size: 1.5em;

}

.container-fluid .container .collapse .navbar-item .nav-link:focus{
    border-bottom: var(--color-primary) 5px solid; 
}



/* end navbar */
.container-fluid .bg{
    background-color: var(--color-secondary);
    position: relative;
}

.banner{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    width: 100%;
    color: #fff;
    font-size: 1.1em;
}



.carousel-item img{
    height: 100vh;
    object-fit: cover;
}

.overlay{
    background-color: var(--color-secondary);
    opacity: 0.7;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.content{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 2;
}


.banner p{
    padding: 100px 10px 50px 10px;
    font-size: 1.9em;
    font-weight: bolder;
    
}

.banner p span{
    text-transform: uppercase;
}

.banner p strong{
    color: var(--color-tertiary);
    text-shadow: #000 0px 3px 5px;
}

.banner .btn{
    margin-bottom: 100px;
    background-color: transparent;
    border: var(--color-tertiary) 3px solid;
}

.banner .btn:hover{
    background-color: var(--color-tertiary);
    border: var(--color-tertiary) 3px solid;
}

/* end section banner */

.about{ 
    width: 100%;
    background-color: #f3f3f3;
    padding-top: 100px;
    padding-left: 120px;
    padding-right: 120px;
    padding-bottom: 100px;
}

.about img{
    width: 500px;
    height: 500px;
    object-fit: cover;
}

.about .infos{
    padding: 25px;
    padding-left: 100px;
}

.about .infos .title{
    font-weight: bold;
    font-size: 1.5em;
    margin-bottom: 50px;
}

.about .infos .title span{
    border-bottom: var(--color-tertiary) 5px solid;
}

.about .infos .name{
    padding-bottom: 25px;
    font-size: 1.1em;
}

.about .infos .name .name-blod{
    font-weight: bolder;
}

.about .infos .name .name-emphasis{
    font-style: italic;
    font-weight: 600;
}

.about .infos .description{
    padding-right: 50px;
    padding-left: 50px;
    padding-bottom: 30px;
}

.about  .infos ul{
    color: var(--color-tertiary);
    padding-left: 10px;
}

.about .infos ul li i{
    color: var(--color-tertiary);
    font-style: normal;
    font-weight: 500;
}

.about .infos ul li a{
    color: var(--color-tertiary);
}

/* end section about */

.skills{
    width: 100%;
    background-color: var(--color-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    padding-top: 100px;
    padding-left: 120px;
    padding-right: 120px;
    padding-bottom: 100px;
}

.skills .content-text{
    display: flex;
    flex-direction:column;
    align-items: center;
    gap: 30px;
}

.skills .content-text .title{
    font-weight: bold;
    font-size: 1.5em;
    color: #fff;
    margin-bottom: 30px;
}

.skills .content-text .title span{
     border-bottom: var(--color-tertiary) 5px solid;
}

.skills .content-text p{
    color: #fff;
}

.skills .content-graphics{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 100px;
    flex-wrap: wrap;
    width: 70%;
}

.skills .content-graphics .blod-child{
    display: flex;
    gap: 25px;
    color: var(--color-quaternary);
}

.skills .content-graphics .blod-child .pourcentage{
    font-size: 3.5em;
    font-weight: bolder;
}

.skills .content-graphics .blod-child .bloc-bar{
    padding-top: 20px;
    width: 100%;
}

.skills .content-graphics .blod-child .bloc-bar progress{
    border-radius: 0px;
    width: 100%;
    height: 15px;
}

.skills .content-graphics .blod-child .bloc-bar progress::-webkit-progress-bar{
     background-color: var(--color-quaternary);
}

.skills .content-graphics .blod-child .bloc-bar progress::-webkit-progress-value{
     background-color: var(--color-primary);
}

/* end section skills */

.realisations{
    width: 100%;
    background-color: #f3f3f3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 25px;
    padding-top: 100px;
    padding-left: 120px;
    padding-right: 120px;
    padding-bottom: 100px;
}

.realisations .content-text{
    display: flex;
    flex-direction:column;
    align-items: center;
    gap: 30px;
}

.realisations .content-text .title{
    font-weight: bold;
    font-size: 1.5em;
    color: #000;
    margin-bottom: 30px;
}

.realisations .content-text .title span{
     border-bottom: var(--color-tertiary) 5px solid;
}

.realisations .content-text p{
    width: 80%;
}
.realisations .content-reals{
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}


.realisations .content-reals .child-content-real{
    background-color: var(--color-quaternary);
    width: 220px;
    border-radius: 10px;
}

.realisations .content-reals .child-content-real:hover{
    box-shadow:  0px 3px 15px rgba(0, 0, 0, 0.2);    
}

.realisations .content-reals .child-content-real h3,h4{
    font-size: 1.0em;
    text-align: center;
}

.realisations .content-reals .child-content-real h4{
    font-size: 1.0em;
    text-align: center;
}

.realisations .content-reals .child-content-real p{
    font-size: 0.9em;
    text-align: center;
    padding: 10px;
}

.realisations .content-reals .child-content-real ul{
    list-style: none;
    padding: 10px;
}

.realisations .content-reals .child-content-real ul li{
    text-align: center;
}
.realisations .content-reals  .child-real-lien{
    position: relative;
    text-decoration: none;
}

.realisations .content-reals .child-real-lien .hover-touch{
    background-color: #28282870;
    position: absolute;
    top: 3px;
    left: 0;
    right: 30px;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-tertiary);
    display: none;
}

.realisations .content-reals .child-real-lien:hover .hover-touch{
    display: flex;
    width: 200px;
    height: 200px;
    margin: 10px;
}

.realisations .content-reals .child-real-lien img{
    width: 200px;
    height: 200px;
    margin: 10px;
}


.realisations .content-reals .child-content-real .btn-seemore{
    color: var(--color-secondary);
}

.card-img-top{
    height: 450px;
}
/* end section réalisations */

.footer{
     width: 100%;
    background-color: var(--color-quaternary);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    padding-top: 100px;
    padding-left: 120px;
    padding-right: 120px;
    padding-bottom: 100px;
}

.footer .copyright p{
    color: #28282875;
    text-align: left;
}
.footer .copyright p span{
    font-size: 1.0em;
    font-weight: 700;
}


.footer .social-media ul{
    list-style: none;
    display: flex;
    gap: 10px;
}

.footer .social-media ul li a{
    text-decoration: none;
    color: #000;
}

.scroll img{
   position: fixed;
   right: 30px;
   bottom: 30px;
   z-index: 1000;
   width: 60px;
   border-radius: 50px;
   background-color: transparent;
}

.scroll img:hover{
    box-shadow: var(--color-tertiary) 0px 2px 10px;
}

.fa{
    font-size: 2.5em;
}

/* end section footer */

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

@media (max-width:768px ){
    .banner .nav-bar ul{
        display: none;
    }
    .banner .nav-bar .dropdown{
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--color-quaternary);
    padding: 50px;
    display: none;
    position:absolute;
    top: 0;
    left: 1;
    right: 0;
    bottom: 1;
    }

    .banner .nav-bar .dropdown li{
        border-bottom: var(--color-secondary) 2px solid;
        padding: 20px;
        text-align: center;
    }

    .banner .nav-bar .dropdown li a{
        color: #000;
    }

    .banner .nav-bar .dropdown .close{
        width: 30px;
        height: 30px;
        margin-left: 50px;
        display: inline;
    }

    .banner .nav-bar img{
        width: 200px;
        margin-right: 50px;
        padding-top: 10px;
    }

    .banner .nav-bar .toggle{
        width: 30px;
        margin-left: 250px;
        padding-top: 10px;
        display: inline;

    }

    .banner p{
        padding-right: 50px;
        padding-left: 35px;
        padding-top: 50px;
        padding-bottom: 50px;
        text-align: center;
        font-size: 1.59em;
    }

    /* end section banner responsive */

    .about {
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        align-items: center;
    }

    .about .infos{
        padding: 5px;
    }

    .about .infos .title{
        text-align: center;
    }

    .about .infos .name{
        text-align: center;
    }

    .about .infos .description{
        text-align: justify;
        padding-left: 10px;
        padding-right: 10px;
    }

    .about .infos ul{
        padding-left: 25px;
    }

    .scroll img{
        left: 200px;
        right: 5px;
        bottom: 10px;
    }

}