@media screen and (max-width: 1550px) {
    .grid-align {
        grid-template-columns: 400px 1fr;
    }

    #header {
        grid-template-columns: calc(300px + 100px + 4.5vw) 1fr;
    }

    .menu a {
        font-size: 20px;
        line-height: 24px;
    }

    .grid-align > div:first-of-type {
        padding-right: 60px;
    }

    .bigh2 {
        font-size: 52px;
    }

    h2, .h2 {
        font-size: 42px;
    }
}

@media screen and (max-width: 1350px) {
    :root {
        --ltspace: 60px;
        --mdspace: 100px;
    }

    h1, .h1 {
        font-size: 42px;
    }

    h2, .h2 {
        font-size: 34px;
    }

    .bigh2 {
        font-size: 38px;
    }

    h3, .h3 {
        font-size: 25px;
    }

    plus {
        height: 26px;
        width: 32px;
        background-size: contain;
    }

    p, li, a {
        font-size: 20px;
    }

    .bloc-fond-rouge h3, .resum-title {
        font-size: 20px;
        letter-spacing: 0.1px;
    }

    .first-section-home h1 {
        font-size: 64px;
        line-height: 61.211px;
    }

    .first-section-home h1 svg {
        transform: translateY(14px);
        height: 44px;
        margin-bottom: -5px;
    }

    .actu-front {
        margin-top: 40px;
    }

    .first-section-home .list-plus {

        bottom: -245px;
        height: 96vh;
        width: auto;
    }

    .intro, .intro p {
        font-size: 24px;
    }

    .menu a {
        font-size: 17px;
        line-height: 21px;
    }

    .grid-align {
        grid-template-columns: 325px 1fr;
    }

    #header {
        grid-template-columns: calc(225px + 100px + 4.5vw) 1fr;
    }

    .contenu-flex h2 {
        margin-top: 50px;
    }

    .btn_base {
        font-size: 20px;
        padding: 14px 65px 14px 25px;
    }

    .btn_base.icon-base::after {
        height: 25px;
        width: 25px;
        right: 25px;
    }

    .txt li::before {
        top: 14px;
    }

    .faq-item svg {
        top: 36px;
        height: 40px;
        width: 40px;
    }

    .bt-page p {
        font-size: 36px;
    }

    .sticky-right > svg {
        height: 250px;
    }

    #filtre-type li {
        font-size: 16px;
    }
}

@media screen and (max-width: 1100px) {
    #main-menu-container {
        position: fixed;
        height: 100vh;
        width: 100%;
        background: var(--noir);
        left: 0;
        top: 0px;
        z-index: 1000;
        padding: 170px calc(var(--medium-side));
        clip-path: circle(0% at 100% 0);
        transition: 0.4s ease-in-out all;
    }

    .toggled #main-menu-container {
        clip-path: circle(141.2% at 100% 0);
    }

    #menu > .menu-toggle {
        display: block;
        position: fixed;
        top: 44px;
        right: calc(var(--light-side));
        z-index: 10001;
    }

    #close-bar1, #close-bar2, #close-bar3 {
        height: 1px;
        background: var(--noir);
        transition: 0.5s ease-in-out all;
    }

    .toggled #close-bar1, .toggled #close-bar2, .toggled #close-bar3,
    .home #close-bar1, .home #close-bar2, .home #close-bar3 {
        background: white;
    }

    .menu {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .menu a {
        font-size: 38px;
        line-height: 103%;
        margin-bottom: 30px;
        display: block;
        color: white;
    }
    #logo path{
        transition: 0.5s ease-in-out all;
    }
    .menu-toggled #logo path{
        fill: white;
    }
    .menu-toggled #logo path:nth-of-type(16),
    .menu-toggled #logo path:nth-of-type(15){
        fill: var(--rouge);
    }

}

@media screen and (max-width: 900px) {
    :root {
        --ltspace: 40px;
        --mdspace: 60px;
    }
    h1 br, .h1 br{
        display: none;
    }
    h1, .h1 {
        font-size: 34px;

    }
    h2, .h2 {
        margin-bottom: 20px;
        font-size: 28px;
    }
    h3, .h3{
        font-size: 20px;
        line-height: 110%;
        margin-bottom: 15px;
    }
    p, li, a {
        font-size: 18px;
    }
    p, ul {
        margin: 0 0 15px 0;
    }
    .intro, .intro p{
        font-size: 20px;
    }
    .contenu-flex h2 {
        margin-top: 40px;
    }
    .bloc-fond-rouge h3, .resum-title{
        font-size: 18px;
    }
    .resum-page.active .txt-resume{
        padding-top: 10px;
    }
    .grid-align {
        display: block;
    }

    .sticky-right > svg {
        display: none;
    }

    .first-section-home h1 br {
        display: none;
    }

    .first-section-home h1 svg {
        transform: translateY(16px);
        height: 37px;
        margin-bottom: -6px;
    }

    .first-section-home h1 {
        font-size: 40px;
        line-height: 47px;
    }

    .first-section-home h1 svg {
        transform: translateY(8px);
        margin-bottom: -13px;
    }

    .grid-oeil {
        grid-template-columns: 1fr;
    }

    .bloc-oeil {
        width: 90%;
        height: 450px;

    }
    .bloc-oeil:hover .flip-card-front,
    .bloc-oeil:hover .flip-card-back{
        box-shadow: 0 0 black;
    }
    #header {
        display: block;
        padding: 18px var(--medium-side);
        height: auto;
    }

    #menu > .menu-toggle {
        top: 34px;
        right: var(--medium-side);
    }

    .actu-front {
        width: 100%;
        padding: 25px;
    }

    .actu-front > svg {
        display: none;
    }

    .first-section-home h1 {
        margin: 0;
    }

    .grid-oeil .bloc-oeil:nth-of-type(4n - 3) {
        margin-top: 0;
    }

    .grid-oeil .bloc-oeil:nth-of-type(4n - 1) {
        margin-top: 0;
    }

    .grid-oeil {
        margin-top: 0;
        grid-gap: 40px;
    }

    .bloc-oeil:nth-of-type(even) {
        margin-left: auto !important;
    }

    .bloc-oeil:nth-of-type(odd) {
        margin-left: 0 !important;
    }

    .icon-oeil {
        transform: scale(0.6);
    }

    .flip-card-front, .flip-card-back {
        padding: 30px;
    }

    #branding {
        height: 46px;
    }

    #logo {
        display: block;
        height: 46px;
    }

    #logo svg {
        width: 145px;
        height: 46px;
    }

    .first-section-home .list-plus {
        bottom: -29px;
        height: 400px;
        width: auto;
    }

    .btn-list > a {
        margin-bottom: 10px;
    }

    .return-flip {
        position: absolute;
        right: 10px;
        top: 10px;
        width: 20px;
        height: 20px;
    }

    .temoignagne-container{
        grid-template-columns: 1fr;
    }
    .bloc-temoignage video{
        height: 83vw;
    }
    .faq-item{
        padding: 20px 40px 20px 0;
    }
    .faq-item svg {
        top: 22px;
        height: 22px;
        width: 22px;
    }
    .faq-answer{
        padding-top: 10px;
        width: calc(100% + 40px);
    }
    .svg-ask{
        display: none;
    }
    .grid-ft{
        display: block;
    }
    .logo-ft{
        /*width: 220px;*/
        /*height: 51px;*/
        width: 145px;
        height: 34px;
    }
    .ft-adresse{
        margin: 20px 0;
    }
    .ft-adresse a{
        color: white!important;
    }
    .ft-adresse::before,
    .ft-adresse::after{
        display: none;
    }
    .hp-patern{
        background-size: contain;
        height: 60px;
    }
    .copyright *,
    .copyright{
        font-size: 12px;
        line-height: 8px;
        text-align: left;
    }
    #main-menu-container{
        padding-top: 115px;
        padding-bottom: 100px;
    }
    .menu a {
        font-size: 23px;
        margin-bottom: 30px;
    }
    #container {
        padding-top: 100px;
    }
    .contenu-flex-sommaire{
        display: none;
    }
    .sticky-right>p{
        display: none;
    }
    .sticky-right{
        position: static;
    }
    .mobile{
        display: block;

    }
    .ancre{
        background: white;
        position: fixed;
        top: 82px;
        left: 0;
        width: 100%;
        z-index: 100;
    }
    body:not(.home) #header{
        background: white;
    }
    .header-scroll{
        transform: unset;
        background: white;
        box-shadow: 2px 2px 44px -9px rgba(0, 0, 0, 0.05);
        -webkit-box-shadow: 2px 2px 44px -9px rgba(0, 0, 0, 0.05);
        -moz-box-shadow: 2px 2px 44px -9px rgba(0,0,0,0.05);
    }
    .home .header-scroll{
        background: var(--noir);
    }
    .page-template-template-financement #container,
    .page-template-template-projet #container {
        padding-top: 166px;
    }
    .resum-page.active,
    .resum-page {
        padding: 20px;
    }
    .resum-page>svg {
        position: absolute;
        top: 20px;
        right: 20px;
        width: 20px;
        cursor: pointer;
        transition: 0.2s ease-in-out all;
        height: 20px;
    }
    .resum-page.active>svg{
        top: 20px;

    }
    .bloc-actualite{
        display: block;
    }
    .contenu-flex .bloc{
        margin-bottom: 30px;
    }
    .btn_base{
        font-size: 17px;
        padding: 11px 50px 11px 20px;
    }
    .btn_base.icon-base::after{
        top: 11px;
        height: 19px;
        width: 19px;
        right: 20px;
    }
    .bloc-galerie img{
        height: 38.8vw;
    }
    .bloc-statistiques{
        display: flex;
        flex-direction: column-reverse;
    }
    .bloc-statistiques .h2{
        display: none;
    }
    .bloc-statistiques .bloc-detail{
        margin-top: 20px;
    }
    .bloc-fond-rouge{
        padding: 30px;
    }
    .menu-deroul{
        padding-left: 30px;
    }
    .menu-deroul>svg{
        top: 3px;
        width: 12px;
    }
    .bt-page p {
        font-size: 22px;
        margin-left: 10px;
        margin-right: 5px;
    }
    .bt-page p plus {
        height: 16px;
        width: 18px;
    }
    .mobile-h1{
        display: block;
    }
    .hide-mob{
        display: none;
    }
    #filtre-annee{
        margin-bottom: 20px;
    }
    .grid-align > div:first-of-type{
        padding-right: 0;
    }
    .page-template-template-suivi .pd-base{
        padding-left: 0;
        padding-right: 0;
    }
    .page-template-template-suivi .sticky-right{
        padding-left: var(--medium-side);
        padding-right: var(--medium-side);
    }
    .single-actualite .sticky-right{
        margin-bottom: 20px;
    }
    .page-template-template-suivi .bloc-actualite{
        /*padding-left: var(--medium-side);*/
        /*padding-right: var(--medium-side);*/
        padding-top: 20px;
        padding-bottom: 40px;
        padding-left: 0;
        padding-right: 0;
        border-top: 1px solid var(--noir);
    }
    .go-back{
        font-size: 14px;
    }
    .go-back svg{
        height: 13px;
        width: 8px;
    }
    .single-actualite .date{
        margin: 0;
        border: 0;
        padding-top: 30px;
    }
    .liste-actualites{
        /*border-top: 1px solid var(--noir);*/
        margin-top: 30px;
        padding: 0 var(--medium-side);
    }
    .bloc-actualite svg{
        bottom: unset;
        top: 20px;
        right: calc(var(--medium-side) / 2);
    }
    .bloc-actualite.jalon{
        /*margin: 0;*/
        border-top: 0;
        padding-right: 25px;
        padding-left: 25px;
    }
    .bloc-actualite svg{
        right: 0;
    }
    .bloc-actualite.jalon svg{
        right: 17px;

    }
    .bloc-actualite svg,
    .bloc-actualite.jalon svg{
        width: 27px;
        height: 27px;
        top: 14px;
    }
    .bloc-actualite .date{
        font-size: 15px;
        margin-bottom: 0;
    }
    .bloc-actualite.jalon .date{
        margin-bottom: 20px;

    }
    .bloc-actualite .type-actualite{
        margin-bottom: 20px;
        font-size: 15px;

    }
    .filtre-actualites{
        display: none;
    }
    #filtre-type li::before{
        width: 16px;
        height: 16px;
    }
    #filtre-annee{
        font-size: 15px;
    }
    .custom-arrow svg{
        width: 15px;
        height: 9px;
        margin-top: -2px;
    }
    .liste-docs a{
        padding: 12px 40px 12px 20px;
        font-size: 16px;
    }
    .liste-docs a::after{
        height: 20px;
        width: 20px;
        right: 15px;
        top: 12px;
    }
    .thumb-img{
        width: calc(100% + var(--medium-side) * 2);
        margin-left: calc(-1 * var(--medium-side));
    }
    .share{
        padding-top: 20px;
        margin-top: 20px;
    }
    .contenus-flexibles .bloc-image video,
    .contenus-flexibles .bloc-image img{
        /*width: calc(100% + var(--medium-side)) !important;*/
    }
    .wpcf7-form input::placeholder, .wpcf7-form textarea::placeholder,
    .wpcf7-form input, .wpcf7-form textarea{
        font-size: 18px;
        padding: 7px 0;
    }
    .wpcf7-form textarea{
        padding: 7px;
    }
    .sub-contact input{
        padding: 11px 0px 11px 20px;
        font-size: 16px;
    }
    .sub-contact p{
        padding-right: 20px;
    }
    .grid-form{
        grid-template-columns: 1fr;
        margin-top: 15px;
        margin-bottom: 35px;
    }
    .new-place{
        height: 140vw;
        width: 100%;
        object-fit: cover;
        object-position: 54%;
    }
    .flex-ft{
        transform: scale(0.65);
        transform-origin: left;
    }
    .img-illu-home{
        height: 60vw;
    }
    .txt li::before{
        width: 20px;
    }
    .txt li{
        padding-left: 30px;
    }
    .first-section-home{
        justify-content: flex-start;
        padding-top: 100px;
    }
    .first-section-home .list-plus {
        width: 135%;
        height: 307px;
    }
    .hidedesc{
        display: block;
    }
    .hide-mob{
        display: none;
    }
    #cookieNotice{
        width: 100%;
        padding: 25px var(--medium-side);
    }


}
@media screen and (max-width: 330px) {
    .first-section-home h1 {
        font-size: 30px;
        line-height: 37px;
    }
    .first-section-home h1 svg{
        height: 23px;
        width: 28px;
        margin-bottom: -7px;
    }
    .flip-card-back p{
        font-size: 16px;
    }
}