/* section hero */
    .caroussel_container{
        position: relative;
        width: 100%;
        height: 350px;
        padding-bottom: 70px;
    }

    .caroussel_container:before{
        content: '';
        width: 100%;
        height: 350px;
        position: absolute;
        top: 0; left: 0;
        background: var(--black);
        opacity: .5;
        z-index: 1;
    }

    .caroussel_container .image{
        width: 100%;
        height: 100%;
        display: none;
    }

    .caroussel_container .image.active {
        display: block;
    }

    .caroussel_container .img_bg_caroussel{
        position: absolute;
        top: 0; left: 0;
        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: 40px;
        height: 40px;
        text-align: center;
        line-height: 40px;
        vertical-align: middle;
        align-items: center;
        cursor: pointer;
        color: white;
        background: var(--blue);
        user-select: none;
    }

    .caroussel_container .button .prev{
        border-radius: 0 5px 5px 0;
    }

    .caroussel_container .button .next{
        border-radius: 5px 0 0 5px;
    }

    .dots{
        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(--blue);
    }

    /* titre et texte */
        .container_text{
            position: relative;
            z-index: 10;
            width: 100%; height: 100%;
            padding: 64px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .container_text h1, .container_text p{
            width: 80%;
        }

        .container_text h1{
            font-size: 50px;
            text-transform: uppercase;
            font-weight: 900;
            color: var(--white);
            margin: 16px 0;
        }

        .container_text p{
            color: var(--white);
            font-size: 22px;
        }   
        
        .container_text .flexBtn{
            margin-top: 16px;
        }

        /* center */
            .container_text.center{
                align-items: center;
            }

            .container_text.center h1, .container_text.center p{
                text-align: center;
            }
            
            .container_text.center .flexBtn{
                justify-content: center;
            }
        /* center */

        /* left */
            .container_text.left{
                align-items: flex-start;
            }

            .container_text.left h1, .container_text.left p{
                text-align: left;
            }

            .container_text.left .flexBtn{
                justify-content: flex-start;
            }
        /* left */

        /* right */
            .container_text.right{
                align-items: flex-end;
            }

            .container_text.right h1, .container_text.right p{
                text-align: right;
            }

            .container_text.right .flexBtn{
                justify-content: flex-end;
            }
        /* right */
    /* titre et texte */
/* section hero */

/* section stat */
    .container_stat{
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        gap: 16px;
        margin: -45px auto 0 auto;
        max-width: 950px;
        position: relative;
        z-index: 100;
    }
    
    .content_stat{
        background: var(--blue);
        width: 300px;
        height: 120px;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
    }
    
    .box_icon_stat{
        width: 100px; height: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        position: absolute;
        bottom: 50%; left: 0;
        transform: translate(61.5%, -10%);
        background: var(--blue);
    }
    
    .box_icon_stat i{
        font-size: 35px;
        color: var(--white);
    }
    
    .count{
        position: relative;
        z-index: 10;
        color: var(--white);
        font-size: 40px;
        font-weight: 700;
    }
    
    .count span{
        color: var(--black);
        font-size: 25px;
    }
    
    .count + p{
        color: var(--white);
        text-align: center;
    }
/* section stat */

/* section categories programme */
    .container_categories_programme{
        margin: -25px auto;
        margin-bottom: -48px;
    }
/* section categories programme */

/* section newsletter */
    .newsletter{
        background: var(--blue);
        padding: 3rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        color: white;
        max-width: 90%;
        margin: -35px auto;
        border-radius: 32px;
    }

    .titre_newsletter{
        font-size: 30px;
        font-weight: bolder;
        color: var(--white);
    }

    .newsletter_text{
        width: 60%;
        margin: .8rem auto;
        font-size: 18px;
        text-align: center;
        color: var(--white);
    }

    .newsletter .form_newsletter{
        position: relative;
        width: 30rem;
        display: flex;
        align-items: center;
    }

    .newsletter .form_newsletter input{
        width: 100%;
        padding: .6rem;
        border: var(--border);
        border-radius: .5rem;
        font-size: 15px;
        outline: none;
    }

    .newsletter .form_newsletter button{
        position: absolute;
        width: 3.5rem;
        right: 0;
        padding: .6rem;
        border: none;
        border-left: 3px solid var(--blue);
        border-radius: 0 .5rem .5rem 0;
        background: var(--white);
        font-size: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        cursor: pointer;
        i{
            color: var(--blue);
        }
    }
/* section newsletter */

/* Section faq */
    .faq-container {
        max-width: 900px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    
    .faq-item {
        background: var(--white);
        overflow: hidden;
        border: 1px solid var(--blue);
        border-radius: 10px;
    }
    
    .faq-question {
        padding: 20px 25px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
    }
    
    .faq-question:hover i, .faq-question.active i {
        font-weight: bold;
    }
    
    .faq-question.active, .faq-question:hover {
        background: var(--blue);
        h3, i{
            color: var(--white);
        }
    }
    
    .faq-question h3 {
        margin: 0;
        font-weight: 600;
    }
    
    .faq-toggle i{
        color: var(--blue);
        font-size: 20px;
        transition: transform 0.3s ease;
    }
    
    .faq-answer {
        padding: 0 25px;
        max-height: 0;
        overflow: hidden;
        transition: all 0.3s ease;
    }
    
    .faq-answer.active {
        padding: 0 25px 25px;
        max-height: 500px;
    }
    
    .faq-answer p {
        padding-top: 16px;
        line-height: 1.6;
        margin: 0;
    }
/* Section faq */

/* responsive */
    /* section hero */
        @media screen and (max-width: 1000px){
            .container_text h1{
                font-size: 40px;
            }
        }
        
        @media screen and (max-width: 800px){
            .container_text{
                padding: 32px 48px;
            }
            
            .container_text h1, .container_text p{
                width: 90%;
            }
            
            .container_text h1{
                font-size: 35px;
            }
            
            .container_text p{
                font-size: 17px;
            }
        }
        
        @media screen and (max-width: 650px) {
            .container_text{
                padding: 16px 32px;
            }
            
            .container_text h1, .container_text p{
                width: 95%;
            }
            
            .container_text h1{
                font-size: 30px;
            }
            
            .container_text p{
                font-size: 16px;
            }
        }
        
        @media screen and (max-width: 500px) {
            .container_text{
                padding: 16px 0;
            }
            
            .caroussel_container .button{
                display: none;
            }
        }
        
        @media screen and (max-width: 430px) {
            .container_text h1{
                font-size: 25px;
            }
        }
        
        @media screen and (max-width: 400px) {
            .caroussel_container, .caroussel_container:before{
                height: 320px;
            }
            
            .caroussel_container .button{
                display: none;
            }
        }
        
        @media screen and (max-width: 370px) {
            .container_text h1{
                font-size: 20px;
            }
            
            .container_text p{
                font-size: 14px;
            }
        }
    /* section hero */
    
    /* section newsletter */
        @media screen and (max-width: 950px){
            .newsletter_text{
                width: 80%;
            }
        }
    
        @media screen and (max-width: 730px){
            .titre_newsletter{
                font-size: 25px;
            }
            
            .newsletter_text{
                font-size: 16px;
            }
        }
    
        @media screen and (max-width: 610px){
            .titre_newsletter{
                font-size: 23px;
            }
            
            .newsletter_text{
                font-size: 15px;
            }               
    
            .newsletter form input{
                padding: .4rem;
                font-size: 15px;
            }
    
            .newsletter form button{
                padding: .47rem;
                font-size: 18px;
            }
        }
    
        @media screen and (max-width: 550px){
            .newsletter{
                padding: 1.5rem 1rem;
            }
            
            .newsletter_text{
                width: 100%;
                margin: .7rem auto;
            }
    
            .newsletter form{
                width: 20rem;
            }
        }
    
        @media screen and (max-width: 480px) {
            .titre_newsletter{
                font-size: 20px;
            }
    
            .newsletter_text{
                font-size: 14px;
            }
    
            .newsletter form input{
                padding: .3rem;
                font-size: 14px;
            }
    
            .newsletter form button{
                padding: .37rem;
                font-size: 16px;
            }
        }
    
        @media screen and (max-width: 450px) {
            .newsletter form{
                width: 18rem;
            }
        }
    
        @media screen and (max-width: 380px){    
            .titre_newsletter{
                font-size: 17px;
            }
    
            .newsletter_text{
                font-size: 13px;
            }
    
            .newsletter form input{
                padding: .3rem;
                font-size: 13px;
            }
    
            .newsletter form button{
                padding: .4rem;
                font-size: 15px;
            }
        }
        
        @media screen and (max-width: 364px) {
            .newsletter{
                width: 95%;
            }
        }
    /* section newsletter */
/* responsive */