@media (min-width: 1470px) {
    .carre{
        aspect-ratio: 1 / 1;
        min-height: auto;
    }

    .lettre_pc {
        width: 20vw;
        right: 3vw;
    }

    .lettre_pc.important {
        width: 20vw !important;
        right: 3vw !important;
    }

    .lettre_pc.a_left{
        right: auto !important;
        left: 3vw !important;
    }

    .page-id-30 #menu .menu-toggle{
        margin-right: calc(((100vw - 795px) / 2));
    }

    .grid-galerie img, .grid-galerie video, .grid-galerie a:nth-of-type(5) img, .grid-galerie a:nth-of-type(5) video{
        aspect-ratio: 1 / 1;
        height: auto;
    }

    .block-projet, .relative-proj, .project-image-container{
        aspect-ratio: 1 / 1;
        height: auto;
    }

}


@media (min-width: 1400px) {
    .single-prestations #footer {
        margin: 30px var(--side-base) 50px;
    }

    .flex_1 .pack_small_carrousel{
        align-items: flex-start;
    }

    .flex_2 h3{
        margin-top: 80px;
    }

    .flex_1 .swiper, .flex_2 .swiper{
        max-width: 650px;
    }

    .lettre_pc.a_right, .lettre_pc.a_left {
        top: calc(5svh + 224px + 20px) !important;
    }
}

@media (max-width: 1400px) {

    .flex_1, .flex_2{
        flex-direction: column;
    }

    .flex_1>div:last-of-type, .flex_2>div:last-of-type{
        width: var(--largeurCarre);
        margin: 0 auto 100px;
    }

    .flottes a p{
        display: none;
    }
}

@media (max-width: 1300px) {

    #menu .menu li>a {
        font-size: 60px;
    }

    .section_accueil_2 .carre {
        margin-top: 70svh;
    }

    .section_1_dedier h1, .titre_portfolio {
        font-size: 96px;
        max-width: 680px;
    }
}

@media (max-width: 1200px) {
    a.carre p {
        display: none;
    }

    .lettre_pc.a_right, .lettre_pc.a_left {
        top: calc( var(--topMarge) + 190px)  !important;
    }

    .coller_top, .coller_top img{
        height: 96svh;
    }

    .superpose a.carre h2 {
        font-size: 40px;
    }

    .superpose .flottes a.carre{
        padding: 50px;
    }
}

@media (min-width: 980px) {
    .page-id-30 #menu .menu-toggle {
        height: 80px;
        width: 81px;
        top: calc(var(--topMarge) + 62px);
        margin-right: calc(((100vw - var(--largeurCarre)) / 2) + 2vw);
        z-index: 3;
    }

    .page-id-30 #menu.toggled .menu-toggle path {
        fill: var(--Blanc);
        opacity: 1;
    }

    .lang-switcher{
        position: absolute;
        width: fit-content !important;
        top: 22px;
        right: 22px;
        margin: 0;
    }
}

@media (max-width: 980px) {

    /* Texte principaux */

    h1, h3, h2, .flex_1 h3, .flex_2 h3, .section_1_dedier h1{
        font-size: 35px;
    }

    p, .section_1_dedier p, .section_1_dedier h2 {
        font-size: 23px;
    }

    .titre_portfolio{
        font-size: 45px;
    }

    :root {
        --side-base: 7vw;
        --largeurCarre: auto;
        --sideCarre: 7vw;
    }

    .carre{
        padding: 49px;
    }

    .carre.no_padding h2{
        max-width: 70%;
        margin-bottom: 20px;
    }

    video.carre, img.carre{
        width: 100%;
        height: 70svh;
        margin-top: 0 !important;
        min-height: 526px;
        aspect-ratio: unset;
    }

    .lettre_pc.a_left{
        display: none;
    }

    .pack_small_carrousel {
        box-sizing: border-box;
        width: 86vw;
        margin: 0 var(--sideCarre) 16px;
    }

    .pack_small_carrousel .fleche_next{
        margin-top: 20px !important;
    }

    .swiper_small {
        box-sizing: border-box;
        width: 100%;
        height: 86vw;
    }

    .swiper_small video.carre, .swiper_small img.carre{
        aspect-ratio: 1 / 1;
        height: auto;
    }



    /**************************/

    /*header*/

    .menu-toggled{
        overflow-y: hidden;
    }

    #menu #main-menu-container.carre{
        height: 70svh;
        background-color: var(--Noir);
        margin: 0;
        justify-content: flex-end;
        width: auto;
        max-width: unset;
        min-height: 526px;
    }

    .menu-toggled .menu-toggle path{
        fill: var(--Blanc);
        opacity: 1;
    }

    .logo_menu svg{
        /*display: none;*/
        margin-top: 40px;
        width: 130px;
    }

    #menu .menu li>a{
        font-size: 50px;
        margin-top: 6px;
    }



    /* Accueil */

    .page-id-30 #menu .o.menu-toggle{
        display: block !important;
    }

    .page-id-2 #menu .o.menu-toggle, .page-id-30 #menu .o.menu-toggle  {
        height: 270px;
        width: 266px;
        left: calc(50% - 110px); /* centre horizontal */
        transition: all 0.6s ease; /* pour le mouvement fluide */
    }


    .menu-toggled .page-id-2 #menu .o.menu-toggle, .page-id-2 #menu .o.menu-toggle.active-slide, .menu-toggled .page-id-30 #menu .o.menu-toggle {
        height: 16vw !important;
        width: 18vw !important;
        left: calc(82vw - 16px);               /* centre horizontal */
    }

    .section_accueil_1 .a_right{
        top: calc( var(--topMarge) + 224px)  !important;
        height: 277px !important;
        width: 239px !important;
        max-height: 671px;
        left: calc(50% - 114px) !important;
        z-index: -1;
        animation: arrowSlide 16s ease-in-out infinite; /* répéter infiniment */
    }

    @keyframes arrowSlide {
        0%, 20%, 26%, 32%, 100% {
            transform: translateX(0); /* flèche immobile */
        }
        22%, 28% {
            transform: translateX(-20px); /* premier coup vers la gauche */
        }
        24%, 30% {
            transform: translateX(20px); /* deuxième coup vers la gauche */
        }
    }

    .fleche_special{
        display: block;
    }

    .section_accueil_1>div .carre:first-child{
        grid-area: 2 / 1;
        padding: 0;
        background-color: var(--Blanc);
    }

    .section_accueil_1>div .carre:first-child h1{
        color: var(--Noir);
    }
    
    .main_swiper{
        width: 100%;
        z-index: 2 !important;
        margin: 0 !important;
        height: 70svh;
        min-height: 526px;
        max-width: unset;
    }

    .section_accueil_1 .carre.invisible{
        height: auto;
        margin: 0;
        opacity: 0;
        max-width: unset;
    }

    .section_accueil_1 .carre.white p:last-of-type{
        font-weight: 700;
    }

    .section_accueil_2{
        display: flex;
        flex-direction: column-reverse;
    }

    .titre-pc {
        display: none;
    }
    .titre-mobile {
        display: block;
    }

    .carre.fit {
        margin: 0 var(--sideCarre);
        padding: 0;
    }

    .lettre_pc{
        display: none;
    }


    .section_bonus{
        display: grid;
        height: fit-content;

        --dureAnim: 6s;
    }

    .section_bonus svg{
        grid-area: 1 / 1;
        margin: auto auto;
        width: 100%;
    }

    .lettre_b{
        opacity: 0;
        animation: animeB var(--dureAnim) ease-in-out infinite;
    }

    @keyframes animeB {
        0%, 4%, 9%, 25%, 37%, 100% {
            opacity: 0;
            transform: scale(0.6);
        }
        5%, 8%, 26%, 36% {
            opacity: 1;
        }
        6%, 8%, 35%, 36% {
            transform: scale(1);
        }
        5% {
            transform: scale(1.1);
        }
        27% {
            transform: scale(1.3);
        }
    }

    .lettre_a{
        opacity: 0;
        animation: animeA var(--dureAnim)  ease-in-out infinite;
    }

    @keyframes animeA {
        0%, 8%, 15%, 21%, 26%,  100% { /*, 15%, 26%,*/
            opacity: 0;
        }
        9%, 14%, 22%, 25% {  /*, 16%, 19%*/
            opacity: 1;
        }
        0%, 8%, 14%, 20%{
            transform: scale(0.6);
        }
        10%, 14% {
            transform: scale(1);
        }
        9% {
            transform: scale(1.1);
        }

        21%, 30%, 100%{
            transform: scale(0.6) rotate(180deg);
        }
        23%, 25% {
            transform: scale(1) rotate(180deg);
        }
        22% {
            transform: scale(1.1) rotate(180deg);
        }
    }

    .lettre_d{
        opacity: 0;
        animation: animeD var(--dureAnim) ease-in-out infinite;
    }

    @keyframes animeD {
        0%, 17%, 22%, 100% {
            opacity: 0;
            transform: scale(0.6);
        }
        18%, 21% {
            opacity: 1;
        }

        18%, 21% {
            transform: scale(1);
        }
        17% {
            transform: scale(1.1);
        }
    }

    .lettre_o{
        opacity: 0;
        animation: animeO var(--dureAnim) ease-in-out infinite;
    }

    @keyframes animeO {
        0%, 37%, 46%, 100% {
            opacity: 0;
            transform: scale(0.6);
        }
        38%, 45% {
            opacity: 1;
        }

        42%  {
            transform: scale(0.7);
        }

        43%, 45% {
            transform: scale(0.8);
        }

        37%, 41% {
            transform: scale(1);
        }
        38% {
            transform: scale(1.1);
        }
    }

    .lettre_m{
        opacity: 0;
        animation: animeM var(--dureAnim) ease-in-out infinite;
    }

    @keyframes animeM {
        0%, 45%, 56%, 100% {
            opacity: 0;
            transform: scale(0.6);
        }
        46%, 55% {
            opacity: 1;
        }

        47%, 55% {
            transform: scale(0.9);
        }
        46% {
            transform: scale(1);
        }
    }


    .section_accueil_2 h2{
        margin-bottom: 25px;
    }

    .section_accueil_2 video, .section_accueil_2 img {
        max-height: 70svh;
        height: 70svh;
        min-height: 526px;
    }

    /* A propos */

    .page-id-28 .menu-toggle path, .page-id-25 .menu-toggle path {
        fill: var(--Noir);
    }

    .menu-toggled .page-id-28 .menu-toggle path, .menu-toggled .page-id-25 .menu-toggle path {
        fill: var(--Blanc);
    }

    .swiper_plein, .swiper_plein video, .swiper_plein img{
        height: 70svh;
    }

    .carre.double_color{
        margin-top: 56svh;
        padding: 0;
        background-color: var(--Blanc);
        height: fit-content;
        max-height: unset;
    }

    .carre.double_color h1, .section_1_dedier h1{
        margin: 0 0 60px 0;
        width: var(--largeurCarre);
        max-width: 795px;
        min-height: var(--largeurCarre);
        max-height: 795px;
        background-color: var(--Noir);
        color: var(--Blanc);
        padding: 45px 35px;
        aspect-ratio: 1 / 1;
    }

    .carre.double_color p{
        color: var(--Noir);
        margin-bottom: 36px;
    }

    /* Prestations */

    .page-id-25 .lettre_pc.a_right {
        display: none;
    }

    .superpose .flottes{
        --largeurCarre: 86vw;
        gap: 35px;
        grid-template-columns: 1fr;
        margin: 35px auto 60px;
    }

    .superpose .flottes .carre, .superpose a.carre:first-of-type, .superpose .flottes a.carre{
        height: var(--largeurCarre);
        animation: none;
        padding: 40px 33px;
        margin: 0 auto;
    }

    .superpose a.carre:first-of-type{
        --largeurCarre: 86vw;
    }

    .superpose .flottes .carre h2, .superpose a.carre h2{
        margin: auto 0 0 0;
    }

    .superpose .flottes .carre p, .superpose a.carre p, .superpose a.carre svg{
        display: none;
    }

    .prestations_secondaire.superpose div.flottes a.carre{
        grid-area: unset;
    }

    .swiper.for_pc{
        display: none;
    }

    .prestations_secondaire{
        margin-top: 0px;
    }

    .page-id-25 .superpose:first-of-type{
        margin-top:20vw;
        padding-top: 60px;
    }

    /* Prestation dedier */

    .section_1_dedier{
        margin: 0 0 70px;
    }

    .section_1_dedier>div:last-of-type{
        margin: 56svh var(--side-base) 0;
    }

    .section_1_dedier .swiper_plein{
        display: block;
    }

    .flex_1 h3, .flex_2 h3{
        width: 100%;
    }

    .flex_1 .pack_small_carrousel, .flex_2 .pack_small_carrousel{
        margin: 0 auto;
    }

    .bas_prestation{
          display: none;
    }

    /* Contact */

    .labyrinthe{
        display: none;
    }

    .mobile_contact{
        display: flex;
    }

    /* Footer */

    .page-id-2 #footer{
        margin-top: -110px;
        position: relative;
        z-index: 2;
    }

    #footer .contenu_footer{
        padding: 48px 0 0 0;
    }

    .page-id-2 #footer .contenu_footer{
        background-color: var(--Noir);
        color: var(--Blanc);
        padding: 49px 49px 72px;
    }

    .page-id-2 #footer .contenu_footer p, .page-id-2 #footer .contenu_footer a{
        color: var(--Blanc);
    }

    .page-id-2 #footer .contenu_footer>a:first-of-type svg path, .page-id-2 #footer .contenu_footer>a:last-of-type svg path:last-of-type{
        fill: var(--Blanc);
    }


    #footer .rs a img{
        width: 27px;
    }

    #footer #copyright, .page-id-2 #footer #copyright{
        padding: 0;
        margin: 100px 0 0px;
    }

    .head-projet {
        padding-top: 180px;
    }

    .container-projets{
        overflow-y: hidden;
    }

}

@media (min-width: 480px) {
    a.carre:hover{
        transform: scale(0.97);
    }

    .flottes a.carre:hover{
        scale: 0.95;
    }
}



@media (max-width: 480px) {

    /* Texte principaux */
    h1, h3, h2, .flex_1 h3, .flex_2 h3, .section_1_dedier h1, .superpose a.carre.big_padding h2, .superpose .flottes .carre h2{
        font-size: 32px;
    }

    p, .section_1_dedier p, .section_1_dedier h2  {
        font-size: 21px;
    }

    #menu .menu li>a{
        font-size: 40px;
    }

    .points{
        display: none;
    }

    .flex_2 .liens{
        justify-content: space-between;
        gap: 0;
        margin: auto 5px 0;

    }

    .flex_1>div:last-of-type, .flex_2>div:last-of-type {
        margin: 0 auto 40px;
    }

    .head-projet {
        padding-top: 120px;
    }

}





@media (min-width: 1650px) {
    /*body{*/
    /*    overflow-x: hidden;*/
    /*}*/
    #wrapper{
        align-items: center;
        /*max-width: 1650px;*/
        /*margin: 0 auto;*/
    }

    #header, .max_w{
        max-width: 1650px;
        margin-right: auto;
        margin-left: auto;
    }

    .max_w_marge{
        max-width: calc(1650px - 14vw);
        margin-right: auto;
        margin-left: auto;
    }

    .page-id-30 #menu .menu-toggle {
        margin-right: 420px;
    }

    #container{
        width: 100%;
    }

    /*section:first-of-type{*/
    /*    position: relative;*/
    /*}*/

    .lettre_pc.important.swiper-button-next, .lettre_pc.m, .lettre_pc.boo{
        right: calc(((100vw - 1650px)/2) + 3vw) !important;
    }

    .lettre_pc.a_left{
        left: calc(((100vw - 1650px)/2) + 3vw) !important;
    }
}