body{
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #333;
    background-color: #fdfcfa;
}

*{
    box-sizing: border-box;
}

section, footer, header, article, main, aside, .row, .container{
    position: relative;
}

p{
    margin-bottom: 25px;
}

* > p:last-child{
    margin-bottom: 0 !important;
}

a{
    text-decoration: none; 
}

a:hover, a:focus{
    text-decoration: none; 
    color: #81993a;
}

ul, ol{
    margin: 0;
    padding: 0;
}

ul{
    list-style: none;
}

img{
    max-width: 100%;
    height: auto;
}

b, strong{
    font-weight: 700;
}

a, span, button{
    transition: all 0.5s;
}

figure{
    margin: 0;
}


/*general*/

.clear{
    clear:both !important; 
    display:block; 
    float:none !important; 
    width:100% !important; 
    height:0px !important; 
    margin:0 !important; 
    padding:0 !important; 
    border:none !important; 
    min-height:0px !important;
}

.notDisplay{
    display:none;
}

.displayBlock{
    display: block;
}

.displayInlineBlock{
    display: inline-block;
    vertical-align: top;
}

.position_relative{
    position: relative;
}

.object_fit_cover{
    width:100%; 
    height:100% !important; 
    object-fit:cover;
}

.margin, .wrap{
    margin: 0 auto;
}

.full{
    height: 100%;
    width: 100%;
    display: block;
}

.width_100{
    width: 100%;
}

.height_100{
    height: 100%;
}

.cover{
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.z_index_0{
    z-index: 0;
}

.z_index_1{
    z-index: 1;
}

.z_index_2{
    z-index: 2;
}

.no_margin{
    margin: 0 !important;
}

.nowrap{
    white-space: nowrap;
}

.color_inherit{
    color: inherit !important;
}


/* structure */

.no_padding, .no_flex{
    padding: 0;
}

.row_noflex{
    display: block;
}

.row_noflex:after{
    content:'';
    display: block;
    clear: both;
}

.row_noflex *[class*="col-"]{
    max-width: none;
    flex: none;
    float: left;
}

.float_left, .row_noflex *[class*="col-"].float_left{
    float:left;
}

.float_right, .row_noflex *[class*="col-"].float_right{
    float:right;
}

.row.no_padding *[class*="col-"]:not(.padding), .container.no_padding *[class*="col-"]:not(.padding){
    padding-left:0; 
    padding-right: 0;
}

.container.no_padding .row:not(.padding), .row.no_padding, .row.no_padding .row:not(.padding){
    margin-right:auto; 
    margin-left: auto;
}


/* general site */

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{
    margin: 10px 0;
    text-rendering: optimizelegibility;
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    opacity: .999;
    font-family: "Yanone Kaffeesatz",sans-serif;    
    font-weight: normal;
    line-height: 1.3;
    padding: 0;
    color: #366027;
    text-transform: none;
}

h1, .h1{
    font-size: 32px;
    margin: 0px 0px 15px 0px;
}

h2, .h2{
    font-family: "Fjalla One",sans-serif;
    text-transform: uppercase;
    font-size: 18px;
    color: #81993a;
    margin: 10px 0px /*7px*/12px 0px;
    padding-top: 5px;
}

h3, .h3{
    font-size: 18px;
    margin: 7px 0px 5px 0px;
}

h4, .h4{
    font-size: 1.15em;
    margin: 7px 0px 5px 0px;
    color: #81993a;
}

a{
    color: #366027;
}

.btn_cta, .elementor-button{
    display: inline-block;
    vertical-align: middle;
    text-transform: uppercase;
    padding: 15px 35px;
    
    font-family: "Fjalla One",sans-serif;
    font-weight: normal;
    line-height: normal;
    font-size: 13px;
    text-align: center;
    color: #fff!important;
    background-color: #81993a;
    background-image: -moz-linear-gradient(top,#81993a,#366027);
    background-image: -webkit-gradient(linear,0 0,0 100%,from(#81993a), to(#366027) );
    background-image: -webkit-linear-gradient(top,#81993a,#366027);
    background-image: -o-linear-gradient(top,#81993a,#366027);
    background-image: linear-gradient(to bottom,#81993a,#366027);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
    border: 1px solid #ccc;
    border-bottom-color: #b3b3b3;
    border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 0 rgb(255 255 255 / 20%), 0 1px 2px rgb(0 0 0 / 5%);
    -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 20%), 0 1px 2px rgb(0 0 0 / 5%);
}

.btn_cta:hover, .elementor-button:hover{
    background-color: #366027;
    background-position: 0 -15px;
    -webkit-transition: background-position .1s linear;
    -moz-transition: background-position .1s linear;
    -o-transition: background-position .1s linear;
    transition: background-position .1s linear;
}

.btn_cta.big{
    font-size: 24px;
    padding: 5px 25px 10px 20px;
}

.btn_cta.medium{
    font-size: 16px;
    padding: 4px 25px 9px 10px;
}

.btn_cta.icone:before{
    content:'';
    display: inline-block;
    margin-right: 20px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    position: relative;
    top: 6px;
}

.btn_cta.icone.tel:before{
    background-image: url(../images/icn_tel.png);
    width: 21px;
    height: 32px;
}

.btn_cta.icone.map:before{
    background-image: url(../images/icn_adresse.png);
    width: 13px;
    height: 21px;
    margin-right: 15px;
    top: 2px;
}


/* reset */

.wp-block-columns{
    margin-bottom: 0;
}


/* main */

.container{
    max-width: 960px;
}


/* header */

#header{
    z-index: 10;
}

.col_header1{
    width: /*165px*/17.1875%;
}

.col_header2{
    width: /*795px*/82.8125%;
    padding-left: 20px !important;
}

.col_header2 ul.menu{
    display: flex;
    justify-content: end;
    font-family: "Fjalla One",sans-serif;
    text-transform: uppercase;
    font-size: 14px;
    padding-top: 25px;
}

.col_header2 ul.menu li{
    position: relative;
}

.col_header2 ul.menu > li{
    margin-right: /*30px*/3.870967741935484%;
}

.col_header2 ul.menu > li:last-child{
    margin-right: 0 !important;
}

.col_header2 ul.menu > li > a{
    text-transform: uppercase;
    color: #366027;
    display: block;
    line-height: 1em;
}

.col_header2 ul.menu > li > a:hover, .col_header2 ul.menu > li.current-menu-item > a, .col_header2 ul.menu > li.current-page-ancestor > a{
    color: #869d3b;
}

.col_header2 ul.menu > li.current-menu-item > a:after, .col_header2 ul.menu > li.current-page-ancestor > a:after{
    display: block;
    content:'';
    background: #869d3b;
    height: 3px;
    margin-top: 10px;
}

.col_header2 ul.menu > li ul{
    position: absolute;
    top: calc(100% - 3px);
    left: 0;
    text-align: left;
    font-size: 90%;
    background-color: #869d3b;
    display: none;
    margin: 0;
    padding: 0;
}

.col_header2 ul.menu > li ul li ul{
    left: 100%;
    top: 0;
    font-size: 100%;
}

.col_header2 ul.menu li:hover > ul{
    display: block;
}

.col_header2 ul.menu li ul li{
    display: block;
    height: auto !important;
    padding: 0;
    white-space: nowrap;
    position: relative;
}

.col_header2 ul.menu li ul li a{
    color: #fff !important;
    display: block;
    height: 100%;
    width: 100%;
    padding: 11px 20px 10px;
}

.col_header2 ul.menu li ul li:hover > a, .col_header2 ul.menu li ul li.current-menu-item > a, .col_header2 ul.menu li ul li.current-page-ancestor > a{
    background-color: #B5CE62;
}

.after_header{
    position: relative;
}

.after_header .visuel_header{
    position: relative;
    z-index: 1;
}

.after_header .btn_cta{
    position: absolute;
    z-index: 2;
    right: 15px;
    top: 15px;
}


/* page */

#body_page{
    padding: 15px 0 32px;
    position: relative;
    z-index: 1;
}

.content_page{
    width: /*730px*/76.04166666666667%;
}

.content_page > h2:first-child, .elementor-widget-text-editor > h2:first-child{
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.elementor-widget-text-editor li{
    white-space: normal !important;
}

h2 a{
    color: inherit;
}

.sidebar_page{
    padding: 4px 10px 0 15px !important;
    width: /*210px*/21.875%;
    border-left: 1px solid #cfcfcf;
    min-height: 400px;
}

.sidebar_page .aside_bloc.infos{
    margin-bottom: 40px;
}

.aside_bloc.infos .btn_cta{
    margin-top: 7px;
}

.mb_0 *:last-child{
    margin-bottom: 0 !important;
}

.titre_colonne{
    font-family: "Fjalla One",sans-serif;
    font-size: 24px;
    padding: 0px;
    margin: 0px 0px 20px 0px;
    color: #376127;
    text-transform: uppercase;
    display: block;
    opacity: 1;
}

.titre_colonne_2{
    display: block;
    margin: 0px 0px 0px 0px;
    font-family: "Yanone Kaffeesatz",sans-serif;
    font-size: 24px;
    color: #366027;
    text-transform: uppercase;
    line-height: 15px;
    opacity: 1;
}

.titre1{
    font-family: "Yanone Kaffeesatz",sans-serif;
    color: #889e3c;
    font-size: 24px;
    margin-bottom: 25px;
    opacity: 1;
}

.link_decouvrez{
    margin-bottom: 19px;
    display: inline-block;
}

.section_services.cols_3 > .e-con-inner > .e-con-full{
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.content_page ul, .content_page ol{
    margin-bottom: 25px;
    padding-left: 2rem;
}

.content_page ul{
    list-style: disc;
}

.content_page ul li:not(:last-child), .content_page ol li:not(:last-child){
    margin-bottom: 5px;
}


/* page contact */

.section_contact .wpcf7{
    margin-top: -30px;
}

.section_contact .wrap_field {
    margin-bottom: 5px;
}

.section_contact .wrap_field .label{
    width: 33.63%;
}

.section_contact .wrap_field .field{
    width: 62.10%;
}

.section_contact .wrap_field .field [name]{
    width: 100%;
    height: 20px;
    line-height: 20px;
    padding: 0 15px;
    border: 1px solid #c7c7c7;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
}

.section_contact .wrap_field .field textarea[name]{
    height: 80px;
    line-height: normal;
    padding: 15px;
}


/* cat actus */

body.archive h1{
    text-transform: uppercase;
}

.item_post{
    border-bottom: 1px solid #ccc;
    margin-bottom: 22px;
    padding-bottom: 10px;
}

.item_post:last-child{
    margin-bottom: 0 !important;
}

.item_post .title{
    margin-bottom: 7px;
}

.item_post .date{
    margin-bottom: 5px;
    font-size: 0.8em;
}

.item_post .extrait{
    margin-bottom: 7px;
}


/* single actu */

.date_actu{
    font-size: 0.9em;
    margin-bottom: 17px;
}


/* footer */

#footer > .container{
    background-color: #386228;
    padding: 20px 20px 22px;
}

#footer *{
    color: #fff;
}

#footer p{
    margin-bottom: 7px;
}

.infos_footer{}

#footer .menu-main-menu-container{
    display: flex;
    justify-content: center;
    margin-bottom: 45px;
}

#footer .menu-main-menu-container ul{
    display: flex;
    column-gap: 5px;
}

#footer .menu-main-menu-container ul li:after{
    content:"|";
    display: inline-block;
    padding-left: 5px;
}

#footer .menu-main-menu-container ul > li:last-child:after{
    display: none !important;
}

#footer .menu-main-menu-container ul ul{
    display: none !important;
}

#footer .services_footer{
    margin-bottom: 20px;
}

.copyright_footer{}



/* responsive */
   
@media (max-width:991px) 
{
    body{}
    
    .hidden_sm{display: none !important;}
    
    .visible_sm{display: block !important;}

    .no_float_sm{float:none !important; flex: none !important; width:100% !important; margin-right:auto !important; margin-left:auto !important; 
    display:block !important; max-width: none;}
    
    .container{
        max-width: 730px !important;
    }
    
    /* header */
    
    #header{
        padding-top: 10px;
    }
    
    .col_header2{
        display: none;
    }
}

@media (max-width:767px) 
{
    body{}

    .no_float_xs{float:none !important; flex: none !important; width:100% !important; margin-right:auto !important; margin-left:auto !important; 
    display:block !important;}
    
    .row .no_float_xs, .row_noflex .no_float_xs{max-width: none;}

    .hidden_xs{display: none !important;}
    
    .visible_xs{display: block !important;}

    .container{
        width: /*345px*/92% !important;
        max-width: 100% !important;
    }
    
    /* header */
    
    .btn_cta.big{
        font-size: 14px;
        padding: 0px 15px 10px 15px;
        right: 5px;
        top: 5px;
    }
    
    .btn_cta.icone.tel:before{
        width: 15px;
        height: 25px;
        margin-right: 10px;
    }
    
    
    /* pages */
    
    .section_services .col_{
        /*max-width: 200px !important;*/
        margin-bottom: 20px;
    }
    
    .content_page_posts{
        padding-bottom: 30px;
    }
    
    /* footer */
    
    #footer .menu-main-menu-container ul{
        display: block;
    }
}
