/*
Kate style
*/

/********************/
/******* VAR ********/
/********************/
:root {
    /* BASICS : */
    --wh: #ffffff;
    --blk: #32373B;
    --kate: #0016b7;
    --rad90: 90px;

    /* CUSTOM COLORS : */
    --dgreen: #4E723E;   /* dark green */
    --green: #6C9035;    /* green */
    --lgreen: #95A92E;   /* light green */
    --vlgreen: #F4F6EA;  /* very light green */
    --pictogreen: #E3E6D5;  /* vert comme pictos */
    --underlined: #94A280;  /* titre vert souligné */

    /* CUSTOM FONTS : */
    --font_epilogue: 'Epilogue', sans-serif;
    --font_forrest: 'Fraunces', sans-serif;
}
/*** COULEURS (suite) ***/
/*.has-dgreen-color { */
/*    color: var(--dgreen); */
/*}*/
/*.has-dgreen-background-color { */
/*    background-color: var(--dgreen); */
/*}*/

/*.has-green-color { */
/*    color: var(--green); */
/*}*/
/*.has-green-background-color { */
/*    background-color: var(--green); */
/*}*/

/* etc. pour toutes les autres couleurs */


/********************/
/****** POLICES *****/
/********************/
/* font-face Epilogue */
/* epilogue-regular - latin */
@font-face {
    font-display: swap;
    font-family: 'Epilogue';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/epilogue/epilogue-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* epilogue-italic - latin */
@font-face {
    font-display: swap;
    font-family: 'Epilogue';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/epilogue/epilogue-v19-latin-italic.woff2') format('woff2');
}

/* epilogue-700 - latin */
@font-face {
    font-display: swap;
    font-family: 'Epilogue';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/epilogue/epilogue-v19-latin-700.woff2') format('woff2');
}

/* epilogue-700italic - latin */
@font-face {
    font-display: swap;
    font-family: 'Epilogue';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/epilogue/epilogue-v19-latin-700italic.woff2') format('woff2');
}

/* font-face Fraunces */
/* fraunces-300 - latin */
@font-face {
    font-display: swap;
    font-family: 'Fraunces';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/fraunces/fraunces-v38-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/********************/
/******* LIENS ******/
/********************/
a:link {
    color: var(--dgreen);
    transition: all 0.3s;
}
a:visited {
    color: var(--dgreen);
    transition: all 0.3s;
}
a:active,
a:hover {
    color: var(--vlgreen);
    background-color: var(--dgreen);
    transition: all 0.3s;
}

/* GLOBAL */
body {
    font-family: 'Epilogue', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    color: var(--dgreen);
}
h1, h2, h3, h4, h5, h6 {
    display: block;
}
#main > figure {
    margin-bottom: 50px;
}


/*********************/
/****** CLASSICS *****/
/*********************/
.classic_green_title_h1 {
    display: block;
    font-size: 40px;
    font-weight: 400;
    line-height: 51px;
}
.classic_green_title_h1_mobile {
    display: block;
    font-size: 30px;
    font-weight: 400;
    line-height: 41px;
}
.classic_green_title_h2 {
    display: block;
    font-size: 35px;
    font-weight: 400;
    line-height: 45px;
    padding-bottom: 27px;
    margin-bottom: 60px;
    border-bottom: 1px solid var(--vlgreen);
}
.classic_green_title_h2.classic_green_title_h2_vlgreen {
    color: var(--vlgreen);
}
.classic_green_title_h2_mobile {
    font-size: 22px;
    line-height: 32px;
}
.classic_green_title_h3 {
    display: block;
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    margin-bottom: 21px;
}
.classic_green_title_h3_mobile {
    font-size: 16px;
    line-height: 24px;
}

/*** Border-radius ***/
.radius7,
.radius7 img {
    border-radius: 7px;
}
.radius14,
.radius14 img {
    border-radius: 14px;
}
.radius14_7 {
    border-radius: 14px 14px 7px 7px;
}
.radius7_0 img {
    border-radius: 7px 7px 0 0;
}

/*** BOUTONS ***/
.classic_dgreen_btn,
.classic_white_btn,
.classic_white_btn_text {
    position: relative;
    display: block;
    width: 53px;
    height: 41px;
    background: url("../img/classic_dgreen_btn_bckgd.svg") no-repeat center;
    transition: all 0.3s;
}
.classic_white_btn,
.classic_white_btn_text {
    background: url("../img/classic_white_btn_bckgd.svg") no-repeat center;
}
.bloc_expertise .classic_white_btn .wp-block-button a:after,
.bloc_valeurs .classic_white_btn .wp-block-button a:after,
.classic_dgreen_btn:after,
.classic_white_btn:after,
.classic_white_btn_text:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url("../img/classic_dgreen_btn_arrow.svg") no-repeat center;
    transition: all 0.3s;
}
.bloc_expertise .classic_white_btn .wp-block-button a:after,
.bloc_valeurs .classic_white_btn .wp-block-button a:after,
.classic_white_btn:after,
.classic_white_btn_text:after {
    background: url("../img/classic_white_btn_arrow.svg") no-repeat center;
}
.bloc_expertise .classic_white_btn .wp-block-button a:hover::after,
.bloc_valeurs .classic_white_btn .wp-block-button a:hover::after,
.classic_dgreen_btn:hover::after,
.classic_white_btn:hover::after,
.classic_white_btn_text:hover:after {
    cursor: pointer;
    left: -5px;
    transition: all 0.3s;
}
.wp-block-group p.has-dgreen-color a {
    /*text-decoration: unset;*/
    /*padding: 10px 5px;*/
}
.wp-block-group p.has-dgreen-color a:hover {
    background-color: unset;
}
.wp-block-group p.has-dgreen-color:hover + .classic_dgreen_btn:after {
    left: -5px;
    transition: all 0.3s;
}
.wp-block-image:not(.alignfull) img {
    border-radius: 14px;
}


/********************/
/**** STRUCTURE *****/
/********************/
.widzfull {
    width: 100%;
    max-width: 1980px;
    margin-right: auto;
    margin-left: auto;
}
.widzmain,
.alignwide {
    width: 1228px;
    margin-right: auto;
    margin-left: auto;
}
.widzmed {
    width: 1020px;
    margin-right: auto;
    margin-left: auto;
}


/************************************/
/************ BLOCKS ****************/
/************************************/
/** s'applique à tous les gabarits **/
/************************************/
.classic_title,
.classic_title_green_bckgd {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center !important;
    padding: 55px 0 27px;
    margin-bottom: 60px;
    border-bottom: 1px solid var(--underlined);
}
.classic_title {
    border-bottom: 1px solid var(--pictogreen);
}
.classic_title p,
.classic_title_green_bckgd p {
    font-family: "Fraunces", sans-serif;
    font-size: 18px !important;
    font-weight: 300;
}
.bloc_expertise {
    column-gap: 20px;
    margin-bottom: 80px;
}
.bloc_expertise h3 {
    text-transform: uppercase;
}
.bloc_expertise > div {
    position: relative;
    border-radius: 7px;
}
.bloc_expertise .classic_white_btn {
    position: absolute;
    bottom: 20px;
    right: 50%;
    transform: translateX(50%);
    margin-bottom: 20px;
}
.bloc_expertise .classic_white_btn .wp-block-button a,
.bloc_valeurs .classic_white_btn .wp-block-button a {
    position: relative;
    width: 59px;
    height: 41px;
    background: url("../img/classic_white_btn_bckgd.svg") no-repeat center;
    z-index: 2;
}
.bloc_expertise .wp-block-column:nth-child(2) p:first-of-type {
    font-weight: 300;
    line-height: 23px;
}
.bloc_expertise .wp-block-columns .wp-block-column:nth-child(2) {
    padding: 13px 10px 21px;
    margin-bottom: 30px;
}
.bloc_expertise .wp-block-columns .wp-block-column:nth-child(2) h3 {
    font-size: 22px !important;
}
.bloc_expertise .wp-block-columns .wp-block-column p.has-text-align-center {
    font-family: 'Fraunces', sans-serif;
}
.bloc_besoins {
    column-gap: 20px;
    margin-bottom: 83px;
}
.bloc_besoins .wp-block-columns {
    padding: 55px 0 41px;
}
.bloc_besoins .wp-block-columns p {
    position: relative;
    display: block;
    padding-right: 10px;
    width: 99%;
}
.bloc_besoins .wp-block-columns p a {
    display: inline-block;
    width: 100%;
    padding-right: 40px;
}
.bloc_besoins .wp-block-columns p:has(a):after {
    position: absolute;
    content: '';
    display: block;
    background: url('../img/classic_dgreen_btn_arrow.svg') no-repeat;
    width: 19px;
    height: 16px;
    top: 5px;
    right: -20px;
    transition: all 0.3s;
}
.bloc_besoins .wp-block-columns p:has(a):hover::after {
    right: -37px;
    transition: all 0.3s;
}
.bloc_besoins .wp-block-columns p:hover a,
.bloc_regions .wp-block-columns p:hover a {
    background-color: unset;
}
.bloc_besoins .wp-block-columns p a,
.bloc_regions .wp-block-group p a {
    font-family: 'Fraunces', sans-serif;
    font-size: 18px;
    text-decoration: unset;
}
.bloc_enjeux,
.bloc_engagements {
    display: block;
    margin-bottom: 65px;
}
.bloc_engagements {
    margin-bottom: 25px;
}
.bloc_enjeux .bloc_enjeux_content,
.bloc_engagements .bloc_enjeux_content {
    padding-bottom: 80px;
}
.bloc_enjeux .bloc_enjeux_content .wp-block-column:has(figure),
.bloc_engagements .bloc_enjeux_content .wp-block-column:has(figure) {
    max-width: 499px;
}
.bloc_engagements .bloc_enjeux_content .wp-block-column .wp-block-columns {
    gap: 20px;
}
.bloc_engagements .bloc_enjeux_content .wp-block-column .wp-block-columns .wp-block-column {
    display: flex;
    max-width: 292px;
}
.bloc_enjeux .bloc_enjeux_content .wp-block-column p,
.bloc_engagements .bloc_enjeux_content .wp-block-column p {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto;
    min-height: 80px;
}
.bloc_engagements .bloc_enjeux_content .wp-block-column p {
    width: 292px;
    padding: 34px 47px;
}
.bloc_enjeux .bloc_enjeux_content .wp-block-column p a,
.bloc_engagements .bloc_enjeux_content .wp-block-column p a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}
.bloc_enjeux .bloc_enjeux_content .wp-block-column p a:hover,
.bloc_engagements .bloc_enjeux_content .wp-block-column p a:hover {
    color: var(--wh);
    background-color: var(--green);
    border-radius: 7px;
}
.bloc_regions {
    display: block;
    margin-bottom: 80px;
}
.bloc_regions article figure,
.bloc_regions article figure img {
    border-radius: 14px 14px 0 0 !important;
}
/* .bloc_regions .wp-block-group p:has(a), */
.bloc_ressources .wp-block-group p {
    font-family: 'Fraunces', sans-serif;
    font-size: 18px !important;
}
.bloc_regions .wp-block-columns > .wp-block-column {
    position: relative;
    z-index: 1;
}
.bloc_regions .wp-block-columns .wp-block-column > a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.bloc_regions .wp-block-columns .wp-block-column > a:hover {
    background-color: unset !important;
}
.bloc_regions .wp-block-columns .wp-block-column > a:hover + article figure {
    overflow: hidden;
    border-radius: 7px 7px 0 0;
}
.bloc_regions .wp-block-columns .wp-block-column > a:hover + article figure img {
    transform: scale(1.04);
    transition: all 0.3s;
}
.bloc_ressources .single_article {
    position: relative;
    border-bottom: 1px solid var(--underlined);
    z-index: 1;
}
.bloc_ressources .single_article figure {
    overflow: hidden;
    border-radius: 14px;
}
.bloc_ressources .single_article figure img {
    transition: all 0.3s;
}
.bloc_ressources .single_article:hover figure img {
    transform: scale(1.04);
    transition: all 0.3s;
}
.bloc_ressources .single_article a {
    position: absolute;
    width: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    color: transparent;
    z-index: 2;
}
.bloc_ressources .single_article a:hover {
    background-color: unset !important;
}
.bloc_ressources .single_article h2 {
    font-family: 'Fraunces', sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 27px;
}
.bloc_ressources .wp-block-group p:hover + .classic_white_btn_text:after {
    left: -5px;
    transition: all 0.3s;
}
.bloc_ressources .wp-block-group p a {
    text-decoration: unset;
}
.bloc_ressources .classic_white_btn {
    margin-bottom: 32px;
    margin-left: unset !important;
}
.bloc_deux_images .wp-block-columns {
    column-gap: 21px;
}
.bloc_deux_images .wp-block-column:has(figure) {
    max-width: 707px;
    max-height: 450px;
}
.bloc_deux_images figure img {
    width: 100%;
    height: 450px;
    object-fit: cover;
}
.bloc_text_image .wp-block-column:has(figure) img {
    max-height: 450px;
}
.bloc_valeurs .wp-block-columns .single_valeur {
    height: 100%;
    column-gap: 0;
}
.bloc_valeurs_xxl > .wp-block-spacer {
    max-width: unset;
    /*background-color: var(--wh);*/
}
.bloc_valeurs .wp-block-column .classic_white_btn,
.bloc_valeurs_xxl .bloc_valeurs .wp-block-column .classic_white_btn {
    width: auto;
}
.bloc_valeurs .wp-block-columns .wp-block-column .wp-block-columns .page_hentry {
    position: relative;
    padding-bottom: 120px;
}
.bloc_valeurs .wp-block-columns .wp-block-column .wp-block-columns .wp-block-column.page_hentry .classic_white_btn {
    position: absolute;
    bottom: 74px;
    left: 50%;
    transform: translateX(-50%);
}




.bloc_territoire .wp-block-column:last-of-type {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


/********************/
/***** GABARITS *****/
/********************/
.page-template-page_accueil .classic_title {
    padding-top: 64px;
}

.page-template-page_contact #footer {
    background-color: unset;
}
.page-template-page_contact #footer:before {
    background: unset;
    width: 0;
    height: 0;
}
.page-template-page_contact .footer_container {
    padding: 0 0 42px;
}

/* Si pas d'img, j'ajoute un fond coloré : */
.bloc_actus ul li .single_article:not(:has(img)),
.bloc_ressources ul li .single_article:not(:has(img)) {
    position: relative;
    height: 100%;
}
.bloc_actus ul li .single_article:not(:has(img))::after,
.bloc_ressources ul li .single_article:not(:has(img))::after {
    position: absolute;
    content: '';
    width: 396px;
    height: 261px;
    top: 0;
    left: 0;
    background-color: var(--vlgreen);
    border-radius: 14px;
}
.bloc_actus ul li .single_article:not(:has(img)) .wp-block-spacer:first-of-type,
.bloc_ressources ul li .single_article:not(:has(img)) .wp-block-spacer:first-of-type {
    padding-top: 261px;
}
.page-template-page_actus .bloc_actus ul li .single_article .classic_dgreen_btn {
    margin: 0 0 32px !important;
}
.page-template-page_actus .bloc_actus ul li .single_article:hover .classic_dgreen_btn:after {
    left: -5px;
    transition: all 0.3s;
}
.page-template-page_actus .bloc_actus nav a:hover {
    background-color: unset !important;
}
.page-template-page_actus .bloc_actus nav a.wp-block-query-pagination-previous,
.page-template-page_actus .bloc_actus nav a.wp-block-query-pagination-next {
    display: inline-block;
    background: url("../img/classic_white_btn_arrow.svg") no-repeat center;
    width: 19px;
    height: 16px;
    padding: 6px;
}
.page-template-page_actus .bloc_actus nav a.wp-block-query-pagination-previous {
    transform: rotate(180deg) !important;
}
.page-template-page_actus .bloc_actus nav a span {
    display: none;
}
.page-template-page_actus .bloc_actus nav .wp-block-query-pagination-numbers .page-numbers {
    position: relative;
    font-family: 'Fraunces', sans-serif;
    padding: 4px;
}
.page-template-page_actus .bloc_actus nav .wp-block-query-pagination-numbers .page-numbers:after {
    position: absolute;
    content: '.';
    display: block;
    right: -2px;
    bottom: 0;
    color: var(--dgreen);
}


/******************/
/******HEADER******/
/******************/
#logo {
    position: relative;
    width: auto;
    height: auto;
}
#logo img {
    display: block;
    width: 130px;
    height: 130px;
    z-index: 2;
}
#logo a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
}
#logo a:hover {
    background-color: unset;
}
#header {
    position: relative;
    display: block;
    background-color: var(--vlgreen);
    /*background: url("../img/header_background_green_pic.svg") bottom 4% right 0 no-repeat var(--vlgreen);*/
}
#header_content {
    display: flex;
    justify-content: space-between;
    padding: 33px 0;
}
#header_main_content {
    display: block;
    flex: 1;
    padding-left: 6%;
}
#header_submenu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    box-sizing: border-box;
    padding: 10px 0;
    background-color: var(--green);
    border-radius: 7px;
}
.submenu_contact img {
    display: inline-block;
    width: 100%;
    max-width: 16px;
    height: auto;
    max-height: 15px;
    margin-right: 10px;
}
.submenu_contact {
    display: block;
    padding-right: 3%;
    margin-left: 3%;
    border-right: 1px solid var(--vlgreen);
}
.submenu_contact a,
.submenu_contact_location {
    font-size: 15px;
    color: var(--vlgreen);
}
.submenu_contact a {
    padding-left: 3px;
    text-decoration: unset !important;
}
#submenu_contact03 {
    position: relative;
    display: block;
    width: 22px;
    height: auto;
    margin: auto 3%;
}
#submenu_contact03 img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
#submenu_contact03 a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
}
#submenu_contact03 a:hover {
    background-color: unset;
}
#navtop {
    display: block;
    padding-top: 20px;
}
#navtop ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 12px;
}
#navtop ul li {
    position: relative;
    padding-bottom: 12px;
}
#navtop ul li a {
    position: relative;
    display: inline-block;
    font-size: 15px;
    text-decoration: unset;
}
#navtop ul li a:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--lgreen) !important;
    transform-origin: bottom left;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}
#navtop ul li a:hover {
    background-color: transparent;
    color: var(--dgreen);
}
#navtop ul li a:hover::after {
    background-color: unset;
    transform: scaleX(1);
    transition: transform 0.3s ease;
}
#navtop ul li:has(ul:hover) > a::after {
    transform: scaleX(1);
}
#navtop ul li ul {
    position: absolute;
    display: none;
    /*display: flex;*/
    flex-wrap: wrap;
    justify-content: flex-start;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
    padding: 30px 24px 31px 30px;
    top: 24px;
    background-color: var(--dgreen);
    border-radius: 7px;
    z-index: 100;
}
#navtop ul li:hover ul {
    display: flex;
    width: max-content;
    max-width: 332px;
}
#navtop ul li:last-of-type:hover ul {
    right: 0;
}
#navtop ul li ul li {
    line-height: 20px;
}
#navtop ul li ul li a {
    font-family: 'Fraunces', sans-serif;
    font-size: 14px;
    color: var(--vlgreen);
}
#navtop ul li ul li a:hover {
    color: var(--vlgreen);
}
#navtop ul li ul li a:after {
    background-color: var(--vlgreen) !important;
}

/*** CHAPO ***/
#chapo {
    position: relative;
    display: block;
    padding-bottom: 80px;
    background-color: var(--vlgreen);
    z-index: 1;
}
.page-template-page_accueil #chapo:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    top: 67px;
    background: url("../img/header_background_green_pic.svg") no-repeat right;
    z-index: 2;
}
#chapo .chapo_content {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 2%;
    padding: 71px 0 27px;
}
#chapo .chapo_content:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--pictogreen);
}
.page-template-page_accueil #chapo h1 {
    font-size: 70px;
    line-height: 90px;
}
#chapo .chapo_desc {
    max-width: 396px;
}
.page-template-page_societe #chapo .chapo_desc {
    max-width: 420px;
}
#chapo .chapo_desc p {
    display: block;
    font-family: 'Fraunces', sans-serif;
    font-size: 20px;
    font-weight: 300;
    line-height: 30px;
    text-align: right !important;
}

/*** STICKY BUTTONS ***/
#sticky_buttons {
    position: fixed;
    top: 345px;
    right: 124px;
    content: '';
    z-index: 1000;
}
.sticky_btn a {
    display: block;
    width: 16px;
    height: 15px;
    background-color: var(--green);
    padding: 12px 30px 13px;
    border-radius: 7px;
}
.sticky_btn a:first-of-type {
    margin-bottom: 10px;
}
.sticky_btn img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/********************/
/****** FOOTER ******/
/********************/
#footer {
    position: relative;
    display: block;
    background-color: var(--vlgreen);
    overflow: hidden;   /* pour le bgd img */
}
#footer:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 60px;
    left: 0;
    background: url("../img/footer_bckgd_lgreen.svg")no-repeat;
    z-index: 0;
}
.footer_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 58px;
    padding: 80px 0 42px;
}
#footer_content {
    display: block;
    width: 35%;
    box-sizing: border-box;
    padding: 56px 57px 56px 60px;
    background-color: var(--green);
    border-radius: 14px;
    z-index: 1;
}
.footer_offices_title {
    max-width: 345px;
    padding-bottom: 70px;
    margin-bottom: unset;
    border-bottom: unset;
}
.footer_offices_infos {
    display: block;
    max-width: 345px;
}
.footer_offices_infos:first-of-type {
    padding-bottom: 31px;
}
.footer_offices_infos span {
    display: block;
    font-family: 'Fraunces', sans-serif;
    font-size: 18px !important;
    padding-bottom: 5px;
    color: var(--vlgreen);
}
.footer_offices_infos_title {
    position: relative;
    font-size: 24px;
    line-height: 32px;
    padding-left: 25px;
    text-transform: uppercase;
}
.footer_offices_infos_title:before {
    content: '';
    position: absolute;
    width: 20px;
    height: 1px;
    bottom: 14px;
    left: 0;
    background-color: var(--vlgreen);
}
.footer_offices_infos_tel a {
    font-family: 'Fraunces', sans-serif;
    color: var(--vlgreen);
}
#footer_form {
    display: block;
    width: 60%;
}
#footer_form form {
    position: relative;     /* pour bouton d'envoi */
}
#footer_form .gform_heading,
#footer_form form .gfield--type-choice legend,
#footer_form form .gfield--type-choice .ginput_container_consent:after,
#footer_form form .gfield div::after {
    display: none;
}
#footer_form .gform_fields {
    gap: 37px 40px;
}
#footer_form form fieldset legend,
#footer_form form .gfield label {
    font-family: 'Epilogue', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    margin-bottom: 0;
    color: var(--dgreen);
}
#footer_form form fieldset div,
#footer_form form fieldset div span{
    padding: 0;
}
#footer_form form fieldset div span,
#footer_form form .gfield div {
    position: relative;
}
#footer_form form fieldset div span:after,
#footer_form form .gfield div:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 10px;
    background-color: #E3E6D5;
}
#footer_form form .gfield.gfield--input-type-textarea div:after {
    height: 0;
}
#footer_form form fieldset div span input,
#footer_form form .gfield div textarea,
#footer_form form .gfield div input {
    background-color: unset;
    border: unset;
    box-shadow: unset;
}
#footer_form form .gfield--type-select label {
    padding-bottom: 5px;
}
#footer_form form .gfield--type-select .ginput_container_select select {
    background-color: #f4f6ea;
    border: 1px solid #6c9035;
    border-radius: 7px;
}
#footer_form form .gfield div textarea {
    border-radius: 7px;
    border: 1px solid #C1D2B4;
}
#footer_form form .gfield.gfield--input-type-textarea label {
    padding-bottom: 12px;
}
#footer_form form .gfield--type-choice .ginput_container_consent {
    max-width: 85%;
}
#footer_form form .gfield--type-choice .ginput_container_consent input {
    border-radius: 10px;
    background: #E3E6D5;
}
#footer_form form .gfield--type-choice .ginput_container_consent label {
    font-size: 12px;
    line-height: 16px;
}
#footer_form form .gform-footer {
    position: absolute;
    content: '';
    width: 53px;
    height: 41px;
    bottom: 23px;
    right: 0;
    margin-top: 0;
}
#footer_form form .gform-footer .button {
    position: relative;
    background-color: unset;
    box-shadow: unset;
}
#footer_form form .gform-footer .button:before {
    content: '';
    position: absolute;
    width: 53px;
    height: 41px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url("../img/classic_dgreen_btn_bckgd.svg") no-repeat center;
    transition: all 0.3s;
}
#footer_form form .gform-footer .button:after {
    content: '';
    position: absolute;
    width: 19px;
    height: 16px;
    right: -5px;
    background: url("../img/classic_dgreen_btn_arrow.svg") no-repeat center;
    transition: all 0.3s;
}
#footer_form form .gform-footer .button:hover::after {
    right: 0;
    transition: all 0.3s;
}
#footer_mentions {
    display: block;
    padding: 5px 0 15px;
}
#footer_mentions .footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#footer_mentions .footer_nav ul li {
    position: relative;
    display: inline-block;
    line-height: 18px;
    padding: 0 15px;
}
#footer_mentions .footer_nav ul li:after {
    content: '';
    position: absolute;
    width: 11px;
    margin: 0 10px;
    height: 1px;
    bottom: 0;
    background-color: var(--dgreen);
}
#footer_mentions .footer_nav ul li:last-of-type::after {
    display: none;
}
#footer_mentions .footer_nav ul li a {
    font-size: 12px;
    text-decoration: unset;
}


/******************/
/*******PAGES******/
/******************/
/*breadcrumb*/
#breadcrumb_content{
    display: block;
    font-size: 0;
    line-height: 19px;
    padding: 20px 0 37px;
}
.breadcrumb_item {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    color: var(--green);
}
.breadcrumb_item:last-of-type {
    font-weight: 600;
}
.breadcrumb_item:not(:last-of-type):after {
    content: '>';
    display: inline-block;
    height : 17px;
    width : 10px;
    margin: auto 4px;
}
.breadcrumb_item a {
    color: var(--dgreen);
    text-decoration: none;
    transition: all 0.3s;
}
.breadcrumb_item a:hover {
    background-color: unset !important;
    text-decoration: underline;
    transition: all 0.3s;
}

/**********/
/* HENTRY */
/**********/
.page_title {
    display: block;
    line-height: 53px;
    margin-bottom: 22px;
    font-size: 48px;
}
.page_title_chapo_sub {
    display: block;
    font-family: 'Epilogue', sans-serif;
    line-height: 28px;
    font-size: 25px;
}
.post_content {
    padding: 44px 0 76px;
}
.page_hentry h2 {
    display: block;
    font-size: 35px;
    font-weight: 400;
    line-height: 45px;
}
.page_hentry h3 {
    display: block;
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    text-transform: uppercase;
}
.page_hentry p {
    font-size: 16px;
    line-height: 25px;
}
.page_hentry ul {
    padding: 0;
    margin: 0 0 27px;
}
.page_hentry ul li {
    line-height: 27px;
    padding: 0 0 0 14px;
    margin: 8px 0 0;
    position: relative;
}
.page_hentry ul li:before {
    content: '';
    position: absolute;
    width: 3px;
    height: 3px;
    top: 11px;
    left: 1px;
    background: var(--dgreen);
    border-radius: var(--rad90);
}
.page_hentry ol {
    list-style-type: none;
    counter-reset: my-counter;
    padding: 0;
    margin: 0 0 27px;
}
.page_hentry ol li {
    counter-increment: my-counter;
    line-height: 27px;
    padding: 0 0 0 14px;
    margin: 0;
    position: relative;
}
.page_hentry ol li:before {
    content: counter(my-counter) ". "; /* Affiche le compteur suivi d'un point */
    color: var(--dgreen);
}
.page_hentry b,
.page_hentry strong {
    font-family: 'Epilogue', sans-serif;
}
.page_hentry em {
    font-family: 'Epilogue', sans-serif;
}
.page_hentry figure {
    height: 100%;
}
.page_hentry img {
    width: auto;
    max-width: 100%;
    height: 100%;
}


/*404*/
#page_404{
display: flex;
flex-wrap: wrap;
padding: 94px 0 94px;
}
#page_404_ill_block{
width: 36.5%;
margin: 0 9.8% 0 0;
}
#page_404_ill_block object{
width: 100%;
max-width: 511px;
height: auto;
margin: auto;
}
#page_404_ill_main{
flex: 1;
padding-top: 53px;
}

/******************/
/*****REPETEUR*****/
/******************/
.page_hentry_wiz_repeat{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 40px 3%;
}
.page_hentry_repeat_block_type1{
width: 100%;
}
.page_hentry_repeat_block_type2{
width: 48.5%;
}
.page_hentry_repeat_block_type3{
width: 31.33%;
}
.page_hentry_repeat_block_type4{
width: 22.75%;
}
