/******************* Image acceuil a-propos */
.acceuil-image-main {
    position: relative;
    height: 70vh;
    width: 100%;
}

.acceuil-image-main .slide {
    overflow: hidden;
}

.acceuil-image-main .wrapper .slide .imageA {
    height: 70vh;
    overflow: hidden;
}

.acceuil-image-main .wrapper .slide img {
    height: 70vh;
    width: 100%;
    background-size:cover;
    background-position: center;
}

.slide .image-data {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.image-data h2 {
    text-transform:uppercase;
    margin: 0;
    font-size: 7rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: .5rem;
}

.image-data span {
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.5;
    color: #fff;
    letter-spacing: .3rem;
    text-transform:uppercase;
}

/******************* Image acceuil Mission */
.header-page .mission-image {
    background-image: url(../imgs/missions/mission.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    height: 70vh;
    width: 100%;
}

/******************* Image acceuil Route ouvrage d'art */
.header-page .route_ouvrage-image {
    background-image: url(../imgs/routeOuvrage/acceuil-routeOvr.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    height: 70vh;
    width: 100%;
}

.agrements .swiper {
    width: 100%;
    height: 40rem;
}

.agrements .swiper-slide {
    overflow: hidden;
    background: #ffffff;
}

.agrements .swiper-slide img {
    width: 30%;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/******************* Image acceuil Actus */
.header-page .actus-image {
    background-image: url(../imgs/actus/actusA2.webp);
    background-size: cover;
    background-position: center;
    position: relative;
    height: 70vh;
    width: 100%;
}

/******************* Image sous Actus */
.header-page .sous-detail {
    text-align: center;
    padding: 6rem;
}

.sous-detail h2 {
    font-size: 4rem;
    opacity: .8;
    text-transform: capitalize;
    letter-spacing: .2rem;
    margin-bottom: 1rem;
}

.sous-detail span {
    font-size: 1.5rem;
    opacity: .8;
    text-transform: capitalize;
    letter-spacing: .1rem;
}

/******************* Image acceuil Equipement */
.header-page .equipement-image {
    background-image: url(../imgs/equipements/index/acceuil.JPG);
    background-size: cover;
    background-position: center;
    position: relative;
    height: 70vh;
    width: 100%;
}

/******************* Contact map */
.header-page .mapAcceuil {
    display: flex;
    justify-content: center;
    align-items: center;    
}


/******************* Loading page */
.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    transition: opacity 0.75s visibility 0.75s;
}

.loader-hidden {
    opacity: 0;
    visibility: hidden;
}

.loader::after {
    content: "";
    width: 75px;
    height: 75px;
    border: 15px solid #dddddd;
    border-top-color: #01a08c;
    border-radius: 50%;
    animation: loading 0.75s ease infinite;
}


/******************* Error pour cantact */

.is-invalid {
    border: 1px solid red;
    background-color: #ffdddd;
}

.invalid-feedback {
    color: red;
    font-size: 1.4rem;
}

/************************************** */
@keyframes loading {
    form {
        transform: rotate(0turn);
    }
    to{
        transform: rotate(1turn);
    }
}







