/* SUMMARY
  - RESET
  - GLOBAL
  - CLASSES
  - Footer
  - MEDIAS QUERIES
*/
/****  RESET   ****/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

sup {
    vertical-align: super;
    font-size: smaller;
}

strong {
	font-weight: 700;
}
.mw-100 {
    max-width: 100%;
}
/****  FONTS   ****/

@font-face {
    font-family: 'Apercu';
    src: url('fonts/Apercu-Italic.eot');
    src: url('fonts/Apercu-Italic.eot?#iefix') format('embedded-opentype'),
        url('fonts/Apercu-Italic.woff2') format('woff2'),
        url('fonts/Apercu-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Apercu';
    src: url('fonts/Apercu-Mono.eot');
    src: url('fonts/Apercu-Mono.eot?#iefix') format('embedded-opentype'),
        url('fonts/Apercu-Mono.woff2') format('woff2'),
        url('fonts/Apercu-Mono.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Apercu';
    src: url('fonts/Apercu-Medium.eot');
    src: url('fonts/Apercu-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/Apercu-Medium.woff2') format('woff2'),
        url('fonts/Apercu-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Apercu';
    src: url('fonts/Apercu-Bold.eot');
    src: url('fonts/Apercu-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/Apercu-Bold.woff2') format('woff2'),
        url('fonts/Apercu-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Apercu';
    src: url('fonts/Apercu.eot');
    src: url('fonts/Apercu.eot?#iefix') format('embedded-opentype'),
        url('fonts/Apercu.woff2') format('woff2'),
        url('fonts/Apercu.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Apercu';
    src: url('fonts/Apercu-MediumItalic.eot');
    src: url('fonts/Apercu-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/Apercu-MediumItalic.woff2') format('woff2'),
        url('fonts/Apercu-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Apercu';
    src: url('fonts/Apercu-BoldItalic.eot');
    src: url('fonts/Apercu-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/Apercu-BoldItalic.woff2') format('woff2'),
        url('fonts/Apercu-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}

/****  GLOBAL   ****/
*,
*:after,
*:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body,
html {
    height:100%;
    font-size:16px;
    background-color: #ffffff;
    font-family:'Apercu',"Helvetica Neue", Helvetica, arial, sans-serif;
}
a{
    text-decoration:none;
}
img {
    display:block;
}
.flex {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
}
.wrap{
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
}
.between {
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    -moz-justify-content: space-between;
}
.center {
    align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
}
.column{
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
.stretch {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.flex-start {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}
.flex-end {
    -webkit-justify-content: flex-end;
    -ms-flex-pack: flex-end;
    justify-content: flex-end;
}

.just-center {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.bg-cover {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.txt{
    line-height:1.5em;
}
.txt.text-supplementaire p a {
    color: #3C1419;
    text-decoration: underline;
}
.txt.text-supplementaire p a:hover {
    color: #88565D;
}

/* Classes */
body{
    font-size:14px;
    font-family:'Apercu',"Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cont{
    max-width:1700px;
    padding:0 20px;
    width:100%;
    margin:0 auto
}
.cont-m{
    max-width:1360px;
    padding:0 20px;
    width:100%;
    margin:0 auto
}
.cont-s{
    max-width:1080px;
    padding:0 20px;
    width:100%;
    margin:0 auto
}

section{
    padding:90px 0 140px;
}
h2{
    font-weight:bold;
    font-size:40px;
    text-align:center;
    color:#212121;
    margin-bottom:50px;
}
/* Carte */
.rechtxt{
    text-align: center;
    font-size: 18px;
}
.acf-map {
    margin-top:100px;
    width: 100%;
    height: 680px;
}
.carte{
    position:relative
}
.acf-map img {
    max-width: inherit !important;
}
#infobox{
    font-family:arial, sans-serif;
    color:white;
    position:absolute;
    width:1090px;
    padding:20px;
    background-color:#3C1419;
    bottom: -60px;
    left: 125px;
    max-height:240px;
    border-radius:6px;
    box-shadow:0 15px 40px rgba(0,0,0,0.08);
}
#infobox > div{
    width:25%;
    border-right:1px solid rgba(255,255,255,0.25);
    padding:0 15px;
    overflow: hidden;
}
#infobox > div:first-child{
    border-right:1px solid rgba(255,255,255,0.25);
    padding-right:15px;
    overflow-y: auto;
    max-height: 130px;
}
#infobox > div:last-child{
    border-right:0px solid rgba(255,255,255,0.25);
    padding-left:15px;
}
.ibtitre{
    font-size:25px;
    font-weight:bold;
}
.ibannees{
    font-size:25px;
    opacity:0.25;
}
.ibsub{
    opacity:0.25;
    font-size:14px;
}
.ibtxt{
    font-size:16px;
    line-height: 1.7em;
}

/* header */
.header{
    height:68px;
    width:100%;
    background-color:rgba(60, 20, 25, 0.9);
    position:fixed;
    top:0;
    padding: 12px 0;
    z-index:10
}
nav a{
    margin-right:45px;
    color:white;
    display: inline-block;
    padding-top: 12px;
    font-size: 18px;
}
.fbnav,
.mobilenav,
.homenav{
    display:none
}
.mobilenav{
    margin-top: 18px;
    width: 16px;
    height: 16px;
}
.logo{
    height:39px;
    width: 43px;
}
.logo img{
    height:100%;
    width:100%;
    fill:white;
    margin-top: 3px;
}
.pres{
    height:1080px;
    display:block;
    width:100%;
    max-height:80vh;
    position:relative
}
.pres::after{
    content:"";
    width:7px;
    height:7px;
    border-width:0 2px 2px 0;
    border-color:white;
    border-style:solid;
    margin-left:-5px;
    left:50%;
    bottom:15px;
    position:absolute;
    transform: rotate(45deg);
}
.pres .cont-m{
    height:100%;
    justify-content: flex-end;
    padding-bottom:80px
}
.pres .cont-m h1{
    max-width:750px;
    color:white;
    font-weight:bold;
    font-size:40px;
    line-height:1.25em
}
.pres .cont-m p{
    max-width:550px;
    color:white;
    font-size:20px;
}
/* Prestations */
.actualites,
.prestations{
    background-color:#F4F4F4
}
.presta{
    width: calc(50% - 15px);
    margin-bottom: 15px;
    border-radius: 6px;
    padding: 30px;
    position: relative;
    background-color: white;
    margin-right: 15px;
}
.presta:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    box-shadow:0 15px 30px rgba(0,0,0,0.08);
}
.plusbtn{
    position: relative;
    cursor:pointer
}
body.active{
    overflow:hidden
}
.plusbtn svg{
    height:48px;
    width:51px;
    fill:#BDBDBD;
    margin-right:30px;
    transition-duration:0.2s
}
.plusbtn h3{
    font-size:18px;
    text-align: left;
    color: #BDBDBD;
    line-height: 1.5;
    width: 100%;
    transition-duration:0.2s
}
.plus{
    width:48px;
    height:48px;
    border-radius:50%;
    display: block;
    position:relative;
    margin-left:30px;
    box-shadow:0 7px 15px rgba(0,0,0,0.08);
    min-width: 48px;
}
.plus:before,
.plus:after{
    content:'';
    width:16px;
    height:2px;
    position:absolute;
    top:23px;
    left:16px;
    background-color:#BDBDBD;
    transition-duration:0.2s
}
.plus:before{
    transform:rotate(90deg);
}
.plusbtn:hover svg{
    fill: #3C1419;
}
.presta:hover .plus:before,
.presta:hover .plus:after{
    background-color:#3C1419;
}
.plusbtn:hover h3{
    color: #3C1419;
}
.modal{
    z-index:9;
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    /*background-color:rgba(255,255,255,0.9);*/
    background-color: rgba(60, 20, 25, 0.7);
    filter:blur(3px);
    display:none;
}
.modal.active{
    display:block
}
.modalplus{
    width:1080px;
    border-radius:6px;
    position:fixed; 
    top:180px;
    margin-left: -540px;
    left: 50%;
    background-color:white;
    display:none;
    z-index:11;
    box-shadow:0 20px 30px rgba(0,0,0,0.08);
}
.modalplus.active{
    display:block;
}
.modalplus .bg-cover{
    height:370px;
    color:white;
    font-size:30px;
    border-radius:6px 6px 0 0;
    text-align:center;
    position:relative;
    text-shadow:0 3px 6px rgba(0,0,0,0.08);
    cursor:pointer;
}
.modalplus .bg-cover .flex:before{
    content:"";
    border-radius:6px 6px 0 0;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:rgba(0,0,0,0.12);
    position:absolute;
}
.modalplus .bg-cover:before,
.modalplus .bg-cover:after{
    content:"";
    height:2px;
    width:16px;
    background-color:white;
    position:absolute;
    top:16px;
    right:10px;
    transform:rotate(45deg);
    cursor:pointer;
    z-index: 12;
    box-shadow:0 3px 6px rgba(0,0,0,0.12);
}
.modalplus .bg-cover:after{
    transform:rotate(135deg);
}
.modalplus svg{
    height:48px;
    width:51px;
    fill:#ffffff;
    display:block;
    margin-bottom:1em
}

.modallist div:nth-child(2n){
    background-color:RGBA(180, 180, 180, 0.1)
}
.modallist div{
    /*height:80px;
    padding:30px 76px;*/
    font-size:16px;
}

.modallist .text-container {
    display: table;
    height: 60px;
    padding-left: 76px;
    padding-right: 76px;
    width: 100%;
}
.modallist .text-container .text-inner {
    display: table-cell;
    vertical-align: middle;
}
/* News */
.fakenews{
    width:33.333%;
    padding:7px;
    color:black
}
.news{
    background-color:white;
    display:block;
    position:relative;
    border-radius:0 0 6px 6px
}
.news:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    box-shadow:0 15px 30px rgba(0,0,0,0.08);
}
.news .bg-cover{
    height:180px;
    border-radius:6px 6px 0 0 
}
.newstxt{
    padding:30px 15px;
    min-height: 200px;
}
.newstxt h4{
    font-size:20px;
    font-weight:bold;
    margin-bottom:1em;
}
.newstxt p{
    font-size:16px;
    word-break: break-word;
    overflow-wrap: break-word;
}
.more{
    display:block;
    margin:30px auto 0 auto;
    background-color:#3C1419;
    font-size:10px;
    width:330px;
    padding:15px;
    text-align:center;
    border-radius:6px;
    border: none;
    color:white;
}
.more a{
    color:white;
}
a.more-facebook {
    margin:30px auto 0 auto;
}
footer{
    padding:30px 0 60px 0;
    background-color:white;
    font-size:16px;
    color:black;
    position:relative
}
footer h5{
    color:#3C1419;
    font-weight:bold
}
.addr{
    padding-right:60px;
}
footer a,
.tel{
    color:#3C1419;
}
.fb{
    width:48px;
    height:48px;
    border-radius:50%;
    display: table;
    position:relative;
    margin-left:30px;
    box-shadow:0 7px 15px rgba(0,0,0,0.08);
    padding: 10px 20px;
    font-size: 28px;
    color: #3C1419;
    font-weight: bold;
}
.foot{
    height: 14px;
    width: 14px;
    fill: #3C1419;
    margin-right: 0.5em
}
.fb svg{
    fill: #3C1419;
    height: 16px;
}
/* Approche */
.rush{
    padding-top:180px;
}
.rush p{
    font-size:16px;
    line-height:1.5em;
}
.rech{
    background-color:#F4F4F4;
}
.rech article{
    padding: 30px 100px 30px 30px;
    border-radius:6px;
    background:white;
    margin-bottom:6px;
    position:relative;
}
.recherche-liste {

}

.recherche-article {
    margin-top: 22px;
    margin-bottom: 22px;
}
.recherche-article h3 {
    padding-top: 6px;
    padding-bottom: 6px;
}
.recherche-article a {
    color: #3C1419;
    text-decoration: underline;
}
.recherche-article a:hover {
    color: #88565D;
}

.aut{
    font-size:11px;
    color:black;
    padding-bottom:1em;
}
.tit{
    color:#3C1419;
    font-size:14px;
    line-height:1.5em;
    font-weight:bold
}
.sup{
    font-size:11px;
    color:black;
    padding-top:1em;
}
.dl img{
    width: 14px;
    height: 17px;
}
.dl{
    top:30px;
    right:30px;
    border-radius:50%;
    background-color: #3C1419;
    width:48px;
    height:48px;
    position:absolute;
    padding: 15px 0 0 17px;
    box-shadow:0 7px 15px rgba(0,0,0,0.08);
}
/* Contact */
.contact{
    padding:100px 16px 16px 16px;
    background-color:#F4F4F4;
    /*height:calc( 100vh - 190px )*/
}
.contcont{
    max-width:705px;
    width:100%;
}
.contcont h2{
    padding-bottom:15px;
}
.logos-contact {
    display: flex;
    margin-bottom: 65px;
    justify-content: center;
}
.logo-contact {
    display: flex;
    align-items: center;
    width: 33.33%;
}
.logo-contact img {
    margin: 0 auto;
    max-height: 100px;
}
.image-pleine-chargeur {
    margin-bottom: 65px;
}
.fiche{
    width:calc(50% - 8px);
    margin-right:15px;
    margin-bottom: 15px;
    background-color:white;
    border-radius:6px;
    padding:20px;
    font-size:16px;
    box-shadow:0 7px 15px rgba(0,0,0,0.08);
}
.fiche:nth-child(even){
    margin-right:0
}
.pp{
    width:90px;
    height:90px;
}
.pp img{
    width:100%;
    height:100%;
    border-radius:50%;
    box-shadow:0 7px 15px rgba(0,0,0,0.08);
}
.cv {
    background-color: #3C1419;
    border-radius: 6px;
    text-align: center;
    color: white;
    font-size: 10px;
    background: url('img/dl.svg') no-repeat #3C1419;
    padding: 15px;
    display: block;
    margin-top: 40px;
    margin-left: -10px;
    margin-right: -10px;
    margin-bottom: -10px;
    background-size: 12px 12px;
    background-position: right 12px bottom 14px;
}
.nom{
    font-weight:bold;
    color:#3C1419;
    line-height:1.5em;
}
.telcont{
    color:black;
    line-height:1.5em;
}
.et{
    background-color: white;
    padding: 20px;
    margin-top: 50px;
    box-shadow:0 7px 15px rgba(0,0,0,0.08);
    width:100%;
    color:black;
    border-radius: 6px;
}
.debut {
    margin-bottom: 65px;
}

.fin{
    font-size:16px;
    font-size: 16px;
    padding-bottom: 1em;
}
.fl{
    margin-top:10px;
    border-radius:50%;
    background-color: white;
    width:48px;
    height:48px;
    padding: 15px 0 0 17px;
    box-shadow:0 7px 15px rgba(0,0,0,0.08);
}
.fl img{
    width: 16px;
    height: 16px;
}

@media (max-width: 1440px) {
    #infobox {
        width: calc(100% - 120px);
        left: 60px;
        right: 60px;

    }
    .acf-map {
        height: 430px;
    }
}
@media (max-width: 1200px) {
    .modalplus {
        width: calc(100% - 60px);
        top: 100px;
        margin-left: 0px;
        left: 30px;
        overflow: auto;
    }
}
@media (max-width: 1100px) {
    .presta {
        max-width:500px;
        margin-right:auto;
        margin-left:auto;
        width: 100%;
    }
    .fakenews{
        width: 100%;
    }
    .actu{
        max-width: 500px;
        margin: 0 auto;
    }
}
@media (max-width: 960px) {
    #infobox {
        max-height: 240px;
        bottom: -132px;
    }
    #infobox > div {
        width: 50%;
    }
    #infobox > div:nth-child(2) {
        width: 50%;
        border-right: 0px;
        padding-right: 0;
    }
    #infobox > div:first-child {
        padding-bottom: 20px;
        max-height: auto;
    }
    #realisations{
        padding-bottom: 220px;
    }
    #infobox > div:first-child .ibtxt {
        max-height: 94px;
    }
}
@media (max-width: 760px) {
    .mobilenav,
    .homenav{
        display:block
    }
    .homenav a{
        padding-left: 0px !important;
        padding-bottom: 0px;
        font-weight:bold !important;
        padding-top: 14px !important;
    }
    nav{
        z-index: 10000;
        position: fixed;
        height: 100vh;
        top: 0;
        left: -260px;
        width: 260px;
        background: white;
        flex-direction: column;
        padding: 110px 0 0 30px;
        font-size:17px;
        color:#3C1419;
        text-transform:uppercase;
        font-weight:bold;
        transition-duration:0.2s
    }
    .okmenu nav{
        left: 0px;
    }
    body{
        position:relative;
        left:0;
        transition-duration:0.2s;
    }
    .okmenu{
        left: 260px;
        overflow:hidden
    }
    .sub a{
        font-weight:normal;
        padding-left:30px
    }
    nav a{
        color:#3C1419;
    }
    nav a,
    nav span{
        padding-bottom:30px
    }
    .pres .cont-m h1 {
        font-size: 30px;
    }
    .pres .cont-m p {
        font-size: 20px;
    }
    .pres .cont-m {
        padding-bottom: 80px;
        justify-content: space-between;
        -webkit-justify-content: space-between;
        -ms-justify-content: space-between;
        -moz-justify-content: space-between;
        padding-top: 110px;
    }
    .pres{
        height:670px;
        min-height:670px;
        max-height:670px;
    }
    .header {
        height: 50px;
        padding: 4px 0;
    }
    footer{
        position:relative;
        padding-bottom:190px;
    }
    .tel{
        bottom: 0;
        position: absolute;
        left: 0;
        width: 100%;
        background-color: #3C1419;
        height: 160px;
        padding:30px;
    }
    .tel a{
        color:white;
        padding:1em 0
    }
    .tel svg{
        fill:white;
        opacity:0.6
    }
    .tel p{
        padding: 1em 0;
        display: block;
    }
    .tel p:first-child{
        border-bottom:1px solid rgba(255,255,255,0.2)
    }
    .fbnav svg{
        fill:white
    }
    .fbnav{
        width: 48px;
        height: 48px;
        border-radius: 50%;
        position: absolute;
        box-shadow: 0 7px 15px rgba(0,0,0,0.08);
        padding: 10px 20px;
        font-size: 28px;
        background-color: #3C1419;
        bottom:30px;
        left:30px
    }
    .contact{
        height:auto
    }
    .contact h2{
        display:none
    }
    .fiche {
        width: 100%;
        margin-right: 0px;
        margin-bottom:15px;
    }
    .et {
        margin-top: 10px;
        margin-bottom: 20px;
    }
    .et:last-child {
        margin-bottom: 50px;
    }
    .logos-contact {
        margin-bottom: 20px;
    }
}
@media (max-width: 700px) {
    .logo{
        margin-top: 0px;
    }
    #infobox {
        max-height: 360px;
        bottom: -252px;
    }
    #infobox > div {
        width: 100%;
        border-right: 0px;
        padding-right: 0;
        padding-bottom: 20px;
    }
    #realisations{
        padding-bottom: 330px;
    }
    #infobox > div:first-child .ibtxt {
        max-height: auto;
    }
    #infobox > div:first-child {
        border-right: 0px solid rgba(255,255,255,0.25);
        padding-right: 0px;
    }
}
@media (max-width: 600px) {
    .fakenews{
        width: 100%;
    }
    .acf-map {
        height: 320px;
    }
    h2{
        font-size:25px;
        text-align:left
    }
    .modallist .text-container {
        padding-left: 16px;
        padding-right: 16px;
    }
    .modalplus .bg-cover {
        height:260px
    }
    .rech{
        padding-top:50px;
        padding-bottom:50px;
    }
    .rush{
        padding-top:100px;
        padding-bottom:50px;
    }
}
@media (max-width: 560px) {
    #infobox {
        width:auto;
        position: initial;
        margin:15px
    }
    #realisations {
        padding-bottom: 140px;
    }
}
@media (max-width: 510px) {
    .plusbtn svg{
        display:none
    }
}
@media (max-height: 1035px) {
    .contact{
        height:auto
    }
    .contact h2{
        display:none
    }
    .fiche {
        width: 100%;
        margin-right: 0px;
        margin-bottom:15px;
    }
    .et {
        margin-top: 10px;
        margin-bottom: 20px;
    }
    .et:last-child {
        margin-bottom: 50px;
    }
}
@media (max-height: 950px) {
    .modalplus {
        top: 90px;
    }
}
@media (max-height: 800px) {
    .modalplus {
        top: 90px;
    }
    .modalplus .bg-cover {
        height: 220px;
    }
}
