/*
tiny mobile
*/
@media screen and (max-width: 400px) {

    .arrow-blue, .arrow-white{
        display: none;
    }

    .mag-section-content-col{
        flex-direction: column !important;
    }


    .mag-section-content-nb{
        flex-direction: column !important;
    }

    .mag-section-content-text-side{
        flex-direction: row !important;
        margin-bottom: 2rem;
    }

    .mag-img-wrapper{
        text-align: center;
    }
}

:root {
    /* COLORS */
    --darkblue: #003189;
    --lightblue: #34A7D6;
    --skyblue: #D3EDF7;
    --white: #FFFFFF;
    --purple: #B2A5E1;
    --orange: #F0B668;
    --green: #B4E892;
    --salmon-pink: #F3AFA7;
    --yellow: #FFCB00;
}
@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@100..900&display=swap');


body *{
    font-family: "Catamaran", sans-serif;
    font-weight: 400;

}

h2, h1{
    font-family: "kabouter_rotund", sans-serif;
    font-weight: 400;
    margin: 0;
}


body{
    background-color: var(--lightblue);
    margin: 0;
    position: relative;

}

main{
    overflow: hidden;
}

.desktop{
    display: none;
}

.medium-small-text{
    font-size: 14px;
}

.medium-text{
    font-size: 18px;
    font-family: "kabouter_rotund";
}

.medium-large-text{
    font-size: 22px;
    font-family: "kabouter_rotund";
    font-weight: 400 !important;
}

.desktop-top-image{
    display: none;
}

.mobile-top-image{
    margin-top: 30px;
}

.bold{
    display: inline;
    font-family: "kabouter_rotund", sans-serif;
}

.right-align{
    text-align: right;
}

.yellow{
    color: var(--yellow) !important;
}

.white{
    color: var(--white) !important;
}

.white *{
    color: var(--white) !important;
}

.overlay {
    position: absolute;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    display: none;
}

.text-mag-desktop{
    display: none;
}

.title-container{
    background-color: var(--darkblue);
    border-radius: 9px;
    color: var(--white);
    align-content: center;
    text-align: center;
    width: fit-content;
    padding: 0.1rem 0.3rem;
    text-align: center;
}

p{
    font-size: 17px;
    color: var(--darkblue);
    line-height: 20px;
}


.flex-container{
    display: flex;
    flex-direction: row;
}


.sticky-modal{
    position: fixed;
    top: 1rem;
    left: 2rem;
    z-index: 1000;
    transition: all 0.5s ease;

}

.sticky-modal.overlap {
    position: absolute;
    top: auto;
    left: -1.33rem;
    z-index: 1100;
    transform: translateY(0);
}



.timer-div{
    justify-content: center;
    height: 6.4rem;
    width: 12.5rem;
    background-color: var(--skyblue);
    border-radius: 10px;
    margin-left: 20px;
    display: flex;
    flex-direction: column;
    color: var(--darkblue);
}

.timer-div p {
    line-height: 21px;
    font-weight: 700
}


.timer-div > *{
    margin: 0 0 0 3rem ;
    letter-spacing: -0.50px;
}

.timer-box{
    background-color: var(--white);

    width: 3rem;
    height: 1.2rem;
    text-align: center;
    margin-left: 0.3rem;
    border-radius: 25px;
}

.timer-box .medium-small-text{
    font-size: 18px;
}

.timer-box p{
    margin: 2px;
}

.timer-box *{
    font-family: "kabouter_rotund", sans-serif;
}

.timer-div img{
    height: 95%;
    position: absolute;
    margin: auto;
    top: 0%;
    transform: translateX(-53.5%);
}

.timer-div .medium-text{
    font-size: 20px;
    font-weight: 400;
}

.text-wrapper{
    margin: none;
}

.text-wrapper > p{
    margin: 0;
}

.source{
    font-style: italic;
    font-size: 16px !important;
}



/*
first section
*/


.first-section-container{
    background-color: var(--skyblue);
    width: 100%;
    border-radius: 40px 40px 0px 0px;
    position: relative;
    padding-top: 4rem;
    margin-top: 1rem;
    max-width: 1000px;
}

.first-section-title-container{
    min-width: 20.4rem;
    height: 2.5rem;
    margin: auto;
    width: fit-content;
    left: 50%;
    transform: matrix(1, -0.05, 0.05, 1, 0, 0) translateX(-50%);
    top: -1.8rem;
    position: absolute;
    padding: 0.2rem 1rem 0.4rem 1rem;
}

.first-section-title-container h1{
    margin: 0;
    font-size: 37px;
    text-transform: uppercase;
}

.first-section-content{
    color: var(--darkblue);
    display: flex;
    flex-direction: column;
}

h2{
    font-size: 30px;
    text-align: center;
    font-weight: 400;

}

.first-section-texts{
    margin-right: 7.70%;
    margin-left: 6.76%;
    z-index: 1;
}


.first-section-texts a{
    text-decoration: underline;
    text-decoration-color: var(--darkblue) !important;
}

a:visited{
    color: var(--darkblue)!important;
}

a:link{
    color: var(--darkblue) !important;
}



.logos-container img{
    margin-top: auto;
    margin-bottom: auto;
}


.logos-container :first-child{
    height: 72px;
    margin-right: 1.8rem;
}

.logos-container :first-child + *{
    height: 92px;
}

.first-section-programme-container{
}

.file-section-1{
    position: absolute;
    width: 100vw;
    left: 50%;
}

.file-desk{
    transform: translateX(-46%);
    bottom: 0;
}

.file-mob{
    transform: translateX(-50%);
    top: 50%;
}

.first-section-programme{
    position: relative;
    background-image: url('../assets/section_1/Fond_Bouteille de lait.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 100%;
    aspect-ratio: 0.5;
    top: -2.5rem;
    max-width: 414px;
    margin: auto;
}

.first-section-programme > h2{
    width: 56%;
    margin-left: 30%;
    padding-top: 5.5rem;
    margin-bottom: 4rem;
    line-height: 26px;
}

.first-section-programme *{
    position: relative;
    z-index: 1;
}

.white-string{
    top: 1423px;
    left: -231.23739624023438px;
    width: 817px;
    height: 635px;
    transform: matrix(0.95, 0.33, -0.33, 0.95, 0, 0);
    /* UI Properties */
    opacity: 1;
}

.programme-box{
    border-radius: 25px;
    max-width: 20.5rem;
    margin-bottom: 4.5rem;
}


.programme-box .title-container{
    position: absolute;
    padding: 0rem 0.5rem;
}

.programme-box p{
    line-height: 1.2rem;
    font-weight: 700;
}


.programme-box img{
    position: absolute
}


.programme-box-1{
    background-color: var(--purple);
    margin-left: 19%;
    margin-right: auto;
    padding-bottom: 1.5rem;
}

.programme-box-1 .title-container{
    transform: matrix(1, 0.05, -0.05, 1, 0, 0);
    margin: auto;
    font-size: 31px;
    top: -1rem;
    left: 4rem;
}

.programme-box-2{
    background-color: var(--orange);
    margin-right: 17.9%;
    margin-left: auto;
    padding-bottom: 0.4rem;

}

.programme-box-2 .title-container{
    transform: matrix(1, -0.05, 0.05, 1, 0, 0);
    margin: auto;
    font-size: 30px;
    top: -1rem;
    left: 1.5rem;
}


.programme-box-3{
    background-color: var(--green);
    margin-left: 19%;
    margin-right: auto;
    padding-bottom: 0.8rem;
}

.programme-box-3 .title-container{
    transform: matrix(1, 0.05, -0.05, 1, 0, 0);
    margin: auto;
    font-size: 30px;
    left: 5rem;
    top: -1rem;
    padding: 0rem 0.8rem;
}


.second-section{
    margin-top: -3rem;
    position: relative;
}

.section-2-banner{
    transform: matrix(1, -0.05, 0.05, 1, 0, 0);
    background-color: var(--darkblue);
    overflow: hidden;
    white-space: nowrap;
    position: absolute;
    top: -3rem;
}

.section-2-banner h2{
    font-size: 37px;
    color: var(--white);
    margin: 0;

}


.activity-selection{
    background-color: white;
    margin-top: 2rem;
    border-radius: 20px;
    padding-bottom: 2rem;
    margin-bottom: 3rem;
    padding-top: 3rem;
}

.activity-flex img{
    width: 8rem;
    top: -1rem;
    margin-bottom: 4rem;
}

.activity-flex p{
    width: 60%;
    max-width: 15rem;
    font-weight: 600;
}

.activity-flex{
    justify-content: center;
    margin-bottom: 1rem;
}

.button-wrapper{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 16px;
    max-width: 400px;
    margin: 0 auto;
}

.btn{
    font-size: 16px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: bold;
}

.btn:hover{
    cursor: pointer;
}

.btn-inverse {
    font-size: 18px;
    color: var(--darkblue);
    background-color: var(--white);
    border: 2px solid var(--darkblue);
    width: 7.5rem;
    white-space: nowrap;
}

.btn-inverse:hover{
    background-color: #D3EDF7;
}

.btn-selected {
    background-color:#D3EDF7;
}

.swipper-card{
    width: 315px;
    height: 377px;
    border: 3px solid var(--white);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    margin: auto;
}

.swiper-slide-next{
    height: fit-content !important;
    padding-bottom: 3rem !important;
    z-index: -1;
}

.swiper-slide{
    height: fit-content !important;
    transition: top 1s ease !important;
    transition: bottom 1s ease !important;

}

.swiper{
    margin-bottom: 8rem;
    padding-bottom: 4rem;
}

.swiper-wrapper{
    height: fit-content !important;
}


.card-image{
    position: absolute;
}


.swiper-slide {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.swiper-slide.hidden {
    opacity: 0;
    visibility: hidden;
}



.swiper-button-next,
.swiper-button-prev{
    position: absolute;
    top: 93%;
    z-index: 10;
    width: 4.1rem;
    height: 3rem;
    background-color: var(--darkblue);
    border-radius: 62px;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

.swiper-button-prev img, .swiper-button-next img{
    height: 100%;
}

.swiper-button-prev img{
    transform: rotate(180deg);
}

.swiper-button-prev:after, .swiper-button-next:after{
    content: none !important;
}




.swiper-button-prev {
    left: 10%;
}

.swiper-button-next {
    right: 10%;
}



@keyframes slideDown {
    from {
        top: -100%;
    }
    to {
        top: 0;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}


.modal{
    width: 408px;
    margin: auto;
    display: none;
    flex-direction: column;
    position: absolute;
    left: 50%;
    top: -50%;
    transform: translateX(-50%);
    z-index: 9999;
    padding: 3rem 0 0 0;
    border: 3px solid var(--white);
    border-radius: 20px;
    padding-top: 11rem;
    max-width: 100vw;
}
.modal:hover{
    cursor: pointer;
}



.swiper-slide-active{
    top: 1rem;
}

.swiper-slide-active .modal{
    display: flex;
    flex-direction: column;
}

.modal p{
    font-size: 14px !important;
    line-height: 16px;
    font-weight: 700;
    letter-spacing: -0.82px;
}

.modal span {
    font-size: 24px;
    line-height: 1.5rem;
    display: inline-block;
    margin-bottom: 1rem;
    font-weight: 400 !important;
    font-family: "kabouter_rotund", sans-serif;
}

.swipper-card .title-container {
    z-index: 1;
    position: absolute;
    left: 50%;
    width: max-content;
    font-size: 25px;
    padding: 0.1rem 0.9rem;
    max-width: 100vw;
    font-size: 30px;
    text-transform: uppercase;
}

.source-title{
    list-style-type: none;
    margin-left: -1.10rem;
    font-weight: 700;
}


.modal-logo-img{
    position: absolute;
    height: 9.5rem;
    top: 1.3rem;
    left: 1.6rem;
}

.modal-text-container h2{
    position: absolute;
    top: -1.7rem;
    left: 1rem;
    font-size: 30px;
}

.modal-text-container{
    background-color: var(--white);
    color: var(--darkblue);
    border-radius: 1.5rem;
    text-align: center;
    padding: 0.3rem 0 0 0 ;
    margin: 0.6rem 1.5rem 3.4rem 3rem;
}


.modal-text-container-img{
    position: absolute;
}

.modal-close-button{
    width: 2.5rem;
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
}

.modal-source{
    margin-top: 3rem;
    color: var(--darkblue)
}

.modal li{
    line-height: 1.2rem;
}


.third-section{
    justify-content: center;
}


.third-section .flex-container{
    margin: auto 1rem auto 1rem;
    justify-content: center;
}


.third-section-1{
    width: 50%;
    text-align: justify;
    max-width: 12rem;
    margin-top: 3rem;
}
.third-section-1 *{
    text-align: justify;
    text-align: left;
}


.third-section-title{
    z-index: 10;
    margin: 0 auto 0 auto;
    max-width: 21rem;
    transform: matrix(1, -0.05, 0.05, 1, 0, 0);
    padding: 0;
}

.third-section-title h2{
    font-size: 38px;
    line-height: 2.8rem;
    margin: 0;
}

.mag-section{
    display: flex;
    flex-direction: column;
    position: relative;
    margin-top: 3rem;
}


.mag-section > div:first-of-type{
    border-radius: 20px 20px 0px 0px;
    background-color: var(--white);
}

.mag-section > div:nth-of-type(2){
    border-radius: 0px 0px 20px 20px;
    background-color: var(--skyblue);
}

.mascotte_MAG_idee{
    height: 11rem;
}

.mag-section-content-text-side{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.mag-section-content-text-side > *{
    padding-top: 1.5rem;
}

.mag-section-content-text-side-col{
    transform: matrix(1, 0.02, -0.02, 1, 0, 0);
}

.mag-section-content-text-side-nb{

}

.mag-section-content{
    margin-top: 2rem;
    justify-content: center;

}

.mag-section-content-text-side p{
    font-size: 20px;
    margin: 0 1.5rem 0 2.5rem;
    transform: matrix(1, -0.05, 0.05, 1, 0, 0);
    text-align: left;
    max-width: 12rem;
    font-family: "kabouter_rotund", sans-serif;
    line-height: 1.3rem;
}

.mag_col_img{
    transform: matrix(0.96, -0.29, 0.29, 0.96, 0, 0);
    height: 15.5rem;
    position: relative;
    left: -2.5rem;
}


.mag_nb_img{
    transform: matrix(1, 0.09, -0.09, 1, 0, 0);
    height: 15.5rem;
    position: relative;
    left: 1rem;
}

.mag-img-wrapper{
    align-content:end;
    padding-bottom: 2rem;
}

.mag-section-content-nb{
    display: flex;
    flex-direction: row-reverse;
}

.mag-section-content-col{
    display: flex;
    flex-direction: row;
    align-content: center;
    text-align: center;
}

.summary-img{
    height: 9.1rem;
    z-index: 10;
    width: auto;
    position: absolute;
    top: -3.5rem;
    right: 0.5rem;
}

.mascotte_MAG{
    height: 9rem;
}

.arrow-white{
    height: 4rem;
}

.arrow-blue{
    height: 4rem;
}


.btn-white{
    padding: 0.6rem 2rem;
    color: #0b3a82;
    background-color: white;
    border: 2px solid #0b3a82;
    margin: auto;
    white-space: nowrap;
    margin: 2.2rem 0 2.5rem 50%;
    transform: translateX(-50%);

}

.btn-blue{
    padding: 0.6rem 2rem;
    color: var(--white);
    background-color: var(--darkblue);
    border: 2px solid var(--darkblue);
    white-space: nowrap;
    font-size: 16px;
    margin: 2.2rem 0 2.5rem 50%;
    transform: translateX(-50%);
}

.footer-section{
    margin: 4.5rem 2rem 3.5rem 2rem;
    padding: 2rem 1rem;
    box-shadow: 0px 3px 6px #FFFFFF29;
    border-radius: 20px;
    background-color: var(--white);
    position: relative;
}

.footer-section *{
    color: var(--darkblue) !important;
}

.footer-section > p {
    font-weight: 700;
}

.footer-section-logo{
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    width: 9rem;
    bottom: -4.5rem;
}


.footer-modal{
    position: absolute;
    height: 6.4rem;
    width: 12.5rem;
    background-color: var(--skyblue);
    border-radius: 10px;
    margin-left: 20px;
    display: flex;
    top: -4rem;
    left: -0.3rem;
    flex-direction: column;
    color: var(--darkblue);
    justify-content: center;
    z-index: 1000;
}

.footer {
    color: var(--darkblue);
    padding: 20px;
}

.footer-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.footer-links {
    text-align: center;
    font-size: 14px;
}

.footer-links a {
    display: block;
    margin: 5px 0;
    text-decoration: none;
    color: inherit;
}

.footer-middle{
    display: none;
}

.footer-left,
.footer-right {
    font-size: 12px;
}

.footer-bottom {
    width: 100%;
    display: flex;
    justify-content: space-between;
}






/*
Big mobile
*/
@media screen and (min-width: 568px) {

    .section-2-banner{
        top: -2rem;
    }
}

/*
Tablet
*/
@media screen and (min-width: 768px) {
    .footer-wrapper {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        text-align: left;
    }

    .footer-middle{
        display: block;
    }

    .footer-links{
        display: none;
    }

    .footer-middle {
        display: flex;
        gap: 20px;
        text-align: center;
    }

    .footer-links a {
        margin: 0;
        display: inline;
    }
}


.show-more-btn{
    display: none;
}

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



    .desktop{
        display: block;
    }

    .mobile{
        display: none;
    }

    .modal{
        top: 15%;
        width: 600;
        aspect-ratio: 0.90;
    }
    .modal-logo-img{
        height: 15.5rem;
        top: -5.7rem;
        left: -4.4rem;
    }

    .sticky-modal{
        position: fixed;
        top: 4.5rem;
        left: -1rem;
        z-index: 1000;
        transform: translateY(0);
    }
    /* Position par-dessus la deuxième modale */
    .sticky-modal.overlap {
        position: absolute;
        top: auto;
        left: -1.33rem;
        z-index: 1100;
        transform: translateY(0);
    }

    .timer-div{
        padding-top: 5rem;
        justify-content: flex-start;
        height: 13.4rem;
        width: 8rem;
        background-color: var(--skyblue);
        border-radius: 10px;
        margin-left: 20px;
        display: flex;
        flex-direction: column;
        color: var(--darkblue);
    }

    .timer-div p {
        line-height: 21px;
        font-weight: 700
    }


    .timer-div > *{
        margin: 0;
        letter-spacing: -0.50px;
        text-align: center;
    }

    .timer-div .text-wrapper{
        flex-direction: column;
    }

    .timer-div .medium-small-text{
        font-size: 21px;
    }

    .timer-box{
        background-color: var(--white);
        width: 3rem;
        height: 1.2rem;
        text-align: center;
        margin-left: 0;
        border-radius: 25px;
        margin: auto;
        width: 6rem;
        height: 2.2rem;
        align-content: center;
    }

    .timer-div .medium-large-text{
        margin-bottom: 0.5rem;
        font-size: 31px;
    }

    .timer-box p{
        margin: 2px;
        font-size: 31px !important;
    }

    .timer-div img{
        height: auto;
        width: 100%;
        position: absolute;
        margin: auto;
        top: -25%;
        left: 53%;
        transform: translateX(-53.5%);
    }

    .timer-div .medium-text{
        font-size: 26px;
        margin-top: 1rem;
        line-height: 1.6rem;
    }




    .desktop-top-image{
        display: block;
        width: 92vw;
        margin-left: 6vw;
    }

    .mobile-top-image{
        display: none;
    }

    .first-section-content{
        flex-direction: row;
    }

    .first-section{
        margin-bottom: 17rem;
    }

    .first-section-title-container{
        width: fit-content;
        padding: -0.9rem 1rem;
        height: fit-content;
        top: -3rem;
        left: 14.5rem;
    }

    .title-container h1{
        font-size: 44px;
        line-height: 3rem;
    }

    .first-section-container{
        width: 73%;
        margin: 0 17% 0 10%;
        max-width: none;
        border-radius: 40px;
        margin-bottom: 10rem;
    }

    .first-section-texts{
        width: 42vw;
        margin-right: -40%;
        margin-left: 5%;
    }

    .first-section-programme-container{
        position: relative;
        margin: -60px auto 0 auto;
        width: 50%;

    }

    .programme-box-2{
        margin-right: 0;
    }

    .first-section-programme{
        position: absolute;
        max-width: none;
        width: 39vw;
        right: -22vw;
        top: -5vw;
    }

    .section-2{
        margin-top: 0;
    }

    .section-2-banner{
        position: absolute;
        top: -5.5rem;
        left: 50%;
        transform: matrix(1, -0.05, 0.05, 1, 0, 0) translateX(-50%);
    }

    .section-2-banner h2{
        font-size: 50px;

    }

    .activity-selection{
        padding-top: 3rem;
        width: 80%;
        margin: auto;
    }

    .activity-flex p{
        width: 65%;
        text-align: center;
        max-width: unset;
        padding-top: 1.5rem;
    }

    .activity-flex img{
        position: absolute;
        top: 0rem;
        right: 5rem;
        width: 15rem;
    }

    .button-wrapper{
        flex-wrap: nowrap;
        max-width: none;
    }

    .btn-inverse{
        width: 12rem;
    }

    .btn{
        font-size: 24px;
    }

    .swiper{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
        margin: 4rem auto 7rem auto;

    }

    .swiper-wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        max-width: 1500px;
        justify-content: center;
        margin: 0 auto;
    }

    .swiper-slide {
        flex: 1 1 calc(50% - 1rem);
        max-width: fit-content !important;
        height: auto !important;
        margin: 0;
    }

    .swiper-slide.hidden {
        display: none;
    }

    .swipper-card {
        width: 448px;
        height: 536px;
        margin: 0;
        position: relative;
    }

    .swipper-card:hover{
        cursor: pointer;
    }

    .swipper-card .title-container {
        font-size: 33px;
        padding: 0.5rem 1rem;

    }


    .card-initial-content {
        visibility: visible;
        opacity: 1;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 1;
    }


    .card-hover-content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        visibility: hidden;
        overflow:visible ;
        opacity: 0;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 0;
    }

    .logo-hover-left{
        position: absolute;
        top: 0rem;
        left: 0;
        width: 7rem;
    }

    .logo-hover-right{
        position: absolute;
        top: 0rem;
        right: 0;
        width: 7rem;
    }

    .card-hover-text-container h2{
        position: absolute;
    }

    .card-hover-text-container{
        background-color: var(--white);
        color: var(--darkblue);
        border-radius: 1.5rem;
        text-align: center;
        padding: 0.3rem 0 0 0 ;
        margin: 0.6rem 1.5rem 3.4rem 3rem;
    }

    .card-hover-content h2{
        font-size: 20px !important;
        text-align: center;
        line-height: 26px;
        font-weight: 700;
    }

    .card-hover-content p{
        font-size: 14px !important;
        line-height: 16px;
        font-weight: 700;
        letter-spacing: -0.82px;
    }

    .card-hover-content span{
        font-size: 22px;
        display: inline-block;
        line-height: 1rem;
        margin-bottom: 0.8rem;
        font-family: "kabouter_rotund", sans-serif;
    }

    .card-hover-text-container p{
        font-size: 15px;
        line-height: 1rem;
    }

    .card-hover-content .title-container{
        position: absolute;
        top: -2rem;
        left: 1rem;
        font-size: 30px !important;
        text-transform: none;
        font-weight: 400;
    }

    .card-hover-text-container-img{
        position: absolute;
    }

    /* Effet au survol */
    .swipper-card:hover .card-initial-content {
        visibility:hidden;
        opacity: 0;
        z-index: 0;
    }

    .swipper-card:hover .card-hover-content {
        visibility: visible;
        opacity: 1;
    }

    .show-more-btn, .show-less-btn{
        margin-top: 4rem !important;
        font-size: 22px !important;
        margin-top: 8rem;
    }



    .modal p {
        font-size: 22px !important;
        line-height: 20px;
        font-weight: 700;
        letter-spacing: -0.82px;

    }

    .modal span {
        font-size: 31px;
        line-height: 26px;
    }



    .mag-section{
        flex-direction: row;
        justify-content: center;
        width: 80%;
        margin: auto;
        aspect-ratio: 1.40;
    }

    .summary-img{
        height: 16vw;
        top: 5.7vw;
        left: 46vw;
        transform: translateX(-50%);
    }

    .third-section-title{
        left: -1rem;
        top: -1rem;
        font-size: 30px;
        max-width: none;
        position: absolute;
        letter-spacing: -0.95px;
        padding: 0.8rem 1rem;
    }

    .mag-section > div:first-of-type {
        border-radius: 20px  0 0 20px ;
        width: 50%;
        padding-top: 4rem;
        position: relative;
        display: flex;
        flex: 1;
        flex-direction: column;
    }

    .mag-section > div:nth-of-type(2) {
        border-radius: 0 20px 20px 0;
        width: 50%;
        position: relative;
        display: flex;
        flex-direction: column;
        padding-top: 5rem;
    }

    .mag-section > div:first-of-type .title-container{
        position: absolute;
        width: fit-content;
        max-width: none;
        font-size: 28px;
        top: -1rem;
        left: -1.5rem;
    }

    .mag-section > div:first-of-type .mascotte_MAG{
        left: -11vw;
        bottom: 6vw;
        height: 17vw;
    }

    .mag-section >  div:nth-of-type(2) .mascotte_MAG{
        right: -5vw;
        bottom: 4vw;
        height: 15vw;
    }

    .mag-section > div:nth-of-type(2) .arrow-white{
        transform: scale(-1);
    }

    .mag-section-content{
        justify-content: initial;
        margin-top: 0;
    }

    .mag-section-content-col{
        flex-direction: row-reverse;
    }

    .mag-section-content-nb{
        flex-direction: row;
        flex: 1;
    }

    .mag-section-content-nb > div{
        width: 50%;
    }

    .mag-section-content-text-side p{
        font-size: 13px;
        line-height: 0.8rem;
    }

    .mag-section-content-text-side-col p{
        position: relative;
        margin: 1rem 5% 0 25%;
    }

    .mag-section-content-text-side-col .arrow-white{
        padding-top: 0;
        margin-left: 3rem;
        height: 6vw;
    }

    .mag_nb_img{
        height: 24vw;
        bottom: 9vw;
        left: -2.4vw;
    }


    .button-block{
        margin-bottom: 0;
        margin-top: auto;
    }



    .mag-section-content-text-side-col{
        margin-left: auto;
        justify-content:initial;
        margin-top: 5vw;
        width: 50%;
    }

    .mag-section-content-text-side-nb{
        justify-content: center;
        flex-direction: column-reverse;
        margin-left: 0.5rem;
        margin-top: 17rem;
    }

    .mag-section-content-text-side-nb p{
        padding-top: 0;
        padding-right: 10%;
    }

    .mag-section-content-text-side p{
        max-width: 11rem;
        transform: none;
    }



    .arrow-blue{
        padding-top: 0;
        height: 5.5vw;
    }

    .mascotte_MAG{
        position: absolute;
        height: 12rem;
    }

    .mascotte_MAG_idee{
        position: absolute;
        top: -9vw;
        right: -1vw;
        height: 20vw;
    }

    .btn-blue, .btn-white{
        display: block;
        text-align: center;
        font-size: 14px;
        padding: 0.7rem 0;
        margin-top: auto;
        margin-bottom: 5vw;
        width: 23vw;
    }

    .text-mag-desktop{
        display: block;
        margin-left: 10%;
        margin-right: 10%;
        margin-top: 10%;
        text-align: left;
        height: 6vw;
    }

    .text-mag-desktop h2{
        color: var(--darkblue);
        text-align: left;
        margin: 0;

        font-size: 30px;
    }

    .text-mag-desktop p{
        margin: 0;
        line-height: 1.3rem;
    }

    .third-section-title {
        left: -1rem;
        top: -1.5vw;
        font-size: 4.2vw;
        max-width: none;
        position: absolute;
        letter-spacing: -0.95px;
        padding: 0.1vw 0.6vw;
    }


    .mag-img-wrapper{
        width: 50%;
    }

    .mag_col_img{
        left: 5vw;
        height: 24vw;
        top: 6vw;
    }

    .footer-section {
        margin: 12.5rem 2rem 3.5rem 2rem;
        height: auto;
    }
    .footer-section > p{
        margin-left: 8rem;
        margin-right: 15rem;
        font-weight: 700;
    }

    .footer-modal{
        bottom: 0 !important;
        top: unset;
        left: -3.3rem;
    }

    .footer-section-logo{
        left: 90%;
        width: 11rem;
        bottom: 13%;
    }

}

@media screen and (min-width: 1100px){
    .first-section-programme{
        position: absolute;
        width: 40vw;
        right: -24vw;
        top: -5vw;
    }




}

@media screen and (min-width: 1200px){
    .first-section-programme{
        position: absolute;
        width: 35vw;
        right: -18vw;
        top: -5vw;
    }

    p {
        font-size: 24px;
    }

    .section-2-banner{
        top: -5.9rem;
    }

    .footer-section-logo {
        left: 93%;
        width: 11rem;
        bottom: 10%;
    }


        .arrow-blue{
            height: 6vw;
        }

    }

    /*
    Large Desktop
    */
    @media screen and (min-width: 1366px) {

        .first-section-programme{
            position: absolute;
            width: 105%;
            right: -17vw;
            top: -8vw;
            max-width: 500px;
        }

        .mag-section-content-text-side p{
            font-size: 26px;
            line-height: 1.2rem;
        }

        .first-section-programme > h2{
            padding-top: 10.5rem;
        }


        p{
            font-size: 24px;
        }

        .source{
            font-size: 17px !important;
        }


        .swiper-slide {
            flex: 1 1 calc(33.33% - 1rem);
            max-width: calc(33.33% - 1rem);
        }

    }


    /* Extra Large Desktop
    */
    @media screen and (min-width: 1660px) {
        .btn-blue, .btn-white{
            font-size: 20px;
        }

        .first-section-programme{
            right: -14vw;
        }

        .first-section-container{
            width: 68%;
            margin: 0px 21% 0 15%;
            max-width: none;
            border-radius: 40px;
            margin-bottom: 10rem;
        }

        .mag-section-content-text-side p{
            font-size: 30px;
            line-height: 1.4rem;
        }

    }

    .swiper-button-next::after,
    .swiper-button-prev::after {
        display: none !important;
    }