/* section hero */
    .caroussel_container{
        position: relative;
        width: 100%;
        height: 70dvh;
        background: var(--primary);
    }

    .caroussel_container .image{
        width: 100%;
        height: 100%;
        display: none;
    }

    .caroussel_container .image.active{
        display: block;
    }

    .caroussel_container .image::before{
        content: '';
        position: absolute;
        width: 100%; height: 100%;
        left: 0; top: 0;
        background: linear-gradient(to right, var(--primary), var(--primary), transparent);
        z-index: 1;
        opacity: .8;
    }

    .caroussel_container .img_bg_caroussel{
        position: absolute;
        top: 0; left: 0;
        object-fit: cover;
        overflow: hidden;
    }

    .caroussel_container .button{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        display: flex;
        justify-content: space-between;
        z-index: 100;
    }

    .caroussel_container .button div{
        width: 35px;
        height: 35px;
        text-align: center;
        line-height: 35px;
        vertical-align: middle;
        align-items: center;
        cursor: pointer;
        color: var(--white);
        background: var(--third);
        user-select: none;
    }

    .caroussel_container .button div:hover{
        background: var(--primary);
    }

    .caroussel_container .button .prev{
        border-radius: 0 5px 5px 0;
    }

    .caroussel_container .button .next{
        border-radius: 5px 0 0 5px;
    }

    .dots{
        display: none;
        position: absolute;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        padding: 5px;
    }

    .dot{
        cursor: pointer;
        padding: .3rem;
        border-radius: 50%;
        background: #bbb;
        display: inline-block;
        margin: 0 2px;
    }

    .caroussel_container .active, .dot:hover{
        background: var(--second);
    }

    .container_text_hero{
        position: relative;
        z-index: 10;
        padding: 16px 64px;
        padding-bottom: 80px;
        width: 100%; height: 100%;
        display: flex;
        align-items: center;
    }

    .content_text_hero{
        max-width: 800px;
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 12px;
        span, h1, p{
            color: var(--white);
        }
    }
    
    .content_text_hero span{
        padding: 4px 16px;
        background-color: var(--light-white);
        border-radius: 32px;
        border: 1px solid var(--white);
        text-transform: uppercase;
        width: max-content;
        font-size: 14px;
    }

    .content_text_hero h1{
        font-size: 42px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .content_text_hero .flexBtn{
        justify-content: flex-start;
        margin-top: 8px;
    }

    /* animation hero */
        .animation_hero{
            position: absolute;
            bottom: -30px; left: 0;
            width: 100%; height: max-content;
        }

        .animation_mer{
            position: relative;
            width: 100%;
            bottom: 0px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .animation_mer .wave{
            position: absolute;
            width: 100%;
            height: 100px;
            top: -100px;
            left: 0;
            background: url(../images/wave_blan.png);
            background-size: 1000px 100px;
        }

        .animation_mer .wave#wave1{
            z-index: 1000;
            opacity: 1;
            bottom: 0;
            animation: animatewave 6s linear infinite;
        }

        .animation_mer .wave#wave2{
            z-index: 999;
            opacity: 0.5;
            bottom: 10px;
            animation: animatewave2 5s linear infinite;
        }

        .animation_mer .wave#wave3{
            z-index: 1000;
            opacity: 0.2;
            bottom: 15px;
            animation: animatewave 5s linear infinite;
        }

        .animation_mer .wave#wave4{
            z-index: 999;
            opacity: 0.7;
            bottom: 20px;
            animation: animatewave2 6s linear infinite;
        }

        @keyframes animatewave{
            0%{
                background-position-x: 1000px;
            }
            100%{
                background-position-x: 0px;
            }
        }

        @keyframes animatewave2{
            0%{
                background-position-x: 0px;
            }
            100%{
                background-position-x: 1000px;
            }
        }
    /* animation hero */
/* section hero */

/* section actualite */
    .container_actualite{
        max-width: 1000px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        gap: 32px;
    }

    .content_actualite:first-child{
        position: relative;
        flex: 0 0 450px;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        grid-template-rows: repeat(2,1fr);
        gap: 8px;
    }

    .content_actualite:first-child .box_img{
        background: var(--primary);
    }

    .content_actualite:first-child img{
        width: 100%; height: 100%;
        object-fit: cover;
    }

    .content_actualite:first-child .logoactualite{
        position: absolute;
        left: 50%; top: 50%;
        transform: translate(-50%,-50%);
        width: 70px; height: 70px;
        background: var(--white);
        border-radius: 50%;
        padding: 8px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .content_actualite:first-child .logoactualite img{
        width: 100%; height: 100%;
        object-fit: contain;
    }

    .content_actualite p{
        display: -webkit-box;
        -webkit-line-clamp: 8;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-align: justify;
        white-space: pre-line;
    }

    /* clock */
        .box_clock{
            background: var(--white);
            border: 1px solid var(--light-gray);
            padding: 16px;
            display: grid;
            grid-template-columns: repeat(4,1fr);
            gap: 8px;
            border-radius: 8px;
            margin-top: 16px;
        }

        .item_clock{
            display: flex;
            flex-direction: column;
            gap: 0px;
        }

        .item_clock span{
            text-align: center;
        }

        .item_clock span:first-child{
            font-weight: bold;
            font-size: 30px;
        }

        .item_clock span:last-child{
            color: var(--third);
            font-size: 14px;
        }
    /* clock */

    /* liste actualite */
        .box_actualite{
            max-width: 1000px;
            margin: 16px auto;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .item_actualite{
            background: var(--white);
            border: 1px solid var(--light-gray);
            padding: 16px 32px;
            border-radius: 8px;
            display: flex;
            gap: 16px;
        }

        .date_actualite{
            flex: 0 0 80px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            margin-right: 8px;
        }

        .date_actualite span{
            text-align: center;
        }

        .date_actualite span:first-child{
            font-weight: bold;
            font-size: 30px;
        }

        .date_actualite span:last-child{
            color: var(--third);
            font-size: 14px;
        }

        .box_img_actualite{
            flex: 0 0 100px; 
            height: 70px;
            background: var(--primary);
            border-radius: 8px;
        }

        .box_img_actualite img{
            width: 100%; height: 100%;
            object-fit: cover;
            border-radius: 8px;
        }

        .infos_actualite{
            flex-shrink: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .infos_actualite h3{
            color: var(--primary);
            font-weight: bold;
        }

        .infos_actualite p{
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-align: justify;
        }

        .item_actualite:hover{
            background: var(--primary);
            cursor: pointer;
        }

        .item_actualite:hover span:first-child, .item_actualite:hover h3, .item_actualite:hover p{
            color: var(--white);
        }
    /* liste actualite */
/* section actualite */

/* section mvo */
    .container_mvo{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 16px;
    }

    .content_mvo:nth-child(2){
        border-radius: 16px;
        background-color: var(--white);
        border: 1px solid var(--light-gray);
    }

    .box_img_mvo{
        position: relative;
        height: 495px;
        img{
            width: 100%;
            height: 100%;
            object-fit: contain;
            position: relative;
            z-index: 10;
        }
    }

    .content_mvo:first-child, .content_mvo:last-child{
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    
    .box_img_mvo:before{
        content: '';
        position: absolute;
        top: 50%; left: 50%;
        transform: translate(-50%,-50%);
        width: 340px; height: 340px;
        border-radius: 50%;
        background: var(--primary);
        z-index: 1;
    }
    
    .box_img_mvo:after{
        content: '';
        position: absolute;
        bottom: 0; left: 0;
        width: 100%; height: 15px;
        backdrop-filter: blur(10px);
        z-index: 10;
        border-radius: 0 0 16px 16px;
    }

    .box_mvo{
        background-color: var(--white);
        border: 1px solid var(--light-gray);
        border-radius: 16px;
        padding: 20px;
        height: 240px;
    }

    .box_icon_mvo{
        background-color: var(--third);
        width: 35px; height: 35px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 8px;
        i{
            color: var(--white);
        }
    }

    .box_mvo h3{
        margin: 8px 0;
        color: var(--primary);
        font-weight: 800;
    }

    .box_mvo p{
        text-align: justify;
        overflow-y: auto;
        max-height: 125px;
        padding-right: 5px;
        white-space: pre-line;
    }
/* section mvo */

/* section apropos */
    .apropos{
        background-image: url(../images/bg_caroussel.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        width: 100%;
        position: relative;
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .apropos::before{
        content: '';
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background-color: var(--primary);
        opacity: .7;
        z-index: 1;
    }

    .apropos .titre{
        position: relative;
        z-index: 10;
    }

    .apropos .titre h2, .apropos .titre p{
        color: var(--white);
    }

    .container_apropos{
        position: relative;
        z-index: 10;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 16px;
        max-width: 900px;
        margin: 0 auto;
    }

    .content_apropos{
        border-radius: 16px;
        height: 320px;
    }

    .content_apropos:first-child{
        padding: 25px;
        background-color: var(--white);
    }

    .text_apropos{
        text-align: justify;
        white-space: pre-line;
        height: 100%;
        overflow-y: auto;
        padding-right: 5px;
    }

    .text_apropos::-webkit-scrollbar-thumb{
        background-color: var(--third);
    }

    .content_apropos:last-child{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 16px;
    }

    .stat_apropos{
        padding: 16px;
        border-radius: 16px;
        background-color: var(--white);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .stat_apropos:nth-child(1), .stat_apropos:nth-child(4){
        background-color: var(--third);
    }

    .stat_apropos span{
        font-weight: bolder;
        font-size: 45px;
        display: flex;
        justify-content: center;
        align-items: center;
        b{
            font-size: 45px;
            font-weight: 600;
            color: var(--third);
        }
    }

    .stat_apropos:nth-child(1), .stat_apropos:nth-child(4){
        span{
            color: var(--white);
            b{
                color: var(--white);
            }
        }
        p{
            color: var(--white);
        }
    }

    .stat_apropos{
        text-align: center;
    }

    /* design curve */
        .apropos .design_curve{
            position: absolute;
            left: 0;
            width: 100%; height: auto;
            z-index: 10;
        }

        .apropos .design_curve:first-child{
            top: -4px;
            transform: rotate(180deg);
        }
        
        .apropos .design_curve:last-child{
            bottom: -4px;
        }
    /* design curve */
/* section apropos */

/* section newsletter */
    .box_newsletter {
        background: var(--primary);
        background-image: url(../images/bg1.png);
        background-position: bottom;
        background-size: cover;
        background-repeat: no-repeat;
        margin: 0 auto;
        border-radius: 16px;
        position: relative;
    }
    
    .box_newsletter:before{
        content: '';
        width: 100%; height: 100%;
        position: absolute;
        top: 0; left: 0;
        border-radius: 16px;
        backdrop-filter: blur(10px);
        z-index: 1;
    }
    
    .content_newsletter{
        padding: 48px;
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        z-index: 10;
    }
    
    .titre_newsletter {
        font-size: 30px;
        font-weight: bolder;
        color: var(--white);
    }
    
    .newsletter_text {
        width: 60%;
        margin: 13px auto;
        font-size: 18px;
        text-align: center;
        color: var(--white);
    }
    
    .box_newsletter form {
        position: relative;
        width: 480px;
        display: flex;
        align-items: center;
    }
    
    .box_newsletter form input {
        width: 100%;
        padding: 10px;
        border-radius: 8px;
        font-size: 15px;
        outline: none;
        border: none;
    }
    
    .box_newsletter form button {
        position: absolute;
        width: 56px;
        right: 1px;
        padding: 10px;
        border: none;
        border-radius: 0 8px 8px 0;
        background: var(--third);
        font-size: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        i{
            color: var(--white);
        }
    }
    
    .box_newsletter form button:hover{
        background: var(--primary);
    }
/* section newsletter */

/* section temoignage */
    .container_testimonial {
        max-width: 1120px;
        margin-inline: 24px;
    }

    .testimonial {
        height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        overflow: hidden;
    }

    .testimonial_swiper {
        padding-bottom: 112px;
    }

    .testimonial_card {
        width: 280px;
        padding: 32px 24px 48px;
        border-radius: 24px;
        text-align: center;
    }

    .testimonial_profile {
        position: relative;
        width: 150px;
        height: 150px;
        flex-shrink: 0;
        margin: 0 auto;
        margin-bottom: 16px;
    }

    .testimonial_profile img {
        object-fit: cover;
        width: 100%;
        height: 100%;
        border-radius: 50%;
    }

    .testimonial_profile::before {
        content: '';
        position: absolute;
        bottom: -8px;
        left: -16px;
        width: calc(100% + 40px);
        height: calc(100% + 40px);
        background-color: var(--primary);
        border-radius: 33% 67% 50% 50% / 50% 35% 65% 50%;
        z-index: -1;
        box-shadow: var(--box-shadow);
    }

    .testimonial_name {
        font-size: 20px;
    }

    .testimonial_rating {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 16px;
        margin: 8px;
    }

    .testimonial_stars {
        display: flex;
        align-items: center;
        column-gap: 4px;
    }

    .testimonial_stars i {
        font-size: 16px;
        color: var(--third);
    }

    .testimonial_description{
        white-space: pre-line;
    }
    
    .swiper-button-next::after,
    .swiper-button-prev::after {
        color: var(--third);
        font-weight: bold;
    }

    .swiper-button-next:hover::after,
    .swiper-button-prev:hover::after {
        color: var(--primary);
    }

    .swiper-pagination-bullet-active {
        background-color: var(--third) !important;
    }
/* section temoignage */

/* responsive */
    /* section temoignage */
        /* For small devices */
        @media screen and (max-width: 300px) {
            .testimonial_card {
                padding-inline: 16px;
            }
        }

        /* For medium devices */
        /* @media screen and (min-width: 640px) {
            .testimonial_swiper {
                max-width: 640px;
            }
        } */

        /* For large devices */
        @media screen and (min-width: 1150px) {
            .testimonial_swiper {
                max-width: 900px;
            }

            .testimonial_card {
                padding: 48px 32px 48px;
                border-radius: 32px;
            }
        }
    /* section temoignage */
/* responsive */