/*
Theme Name: SECB
Version: 1.0
Theme URI: http://www.bonbay.fr/
Author: Bonbay
Author URI: http://www.bonbay.fr/
Text Domain:
*/

/*	Copyright: (c) 2013 Alexander "Alx" Agnarson
	License: GNU General Public License v3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.html*/


/*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,sub,sup,tt,var,b,u,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,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}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:flex}
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}


/*  Base awesome
================================================== */
.fa { width: 1em; text-align: center; }


/*  Base formulaire
================================================== */
input, textarea, 
button, select, 
label { font-family: inherit; }
input,
textarea,
button,
select,
label { font-size: 1rem; }
input::-moz-focus-inner,
button::-moz-focus-inner{ border: 0; padding: 0; }
input[type="text"],
input[type="password"],
input[type="email"],
input[type="submit"],
input[type="tel"],
select,
textarea { margin: 0; border-radius: 0; width:100%;}
input,
textarea,
select,
button { 
    -moz-appearance: none; 
    -webkit-appearance: none;
    appearance: none;
    transition: all .2s ease; 
}
input[type="checkbox"]{ -moz-appearance: checkbox; -webkit-appearance: checkbox; appearance: checkbox; }
input[type="radio"]{ -moz-appearance: radio; -webkit-appearance: radio; appearance: radio; }
label{ }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
    background: #fff;
    border: 1px solid #333;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    width: calc( 90% - 2px );
    outline: none;
    padding: 0.5rem 5%;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus { border-color: #666;  }
label .required { color: #8d001a; }
input[type="submit"],
button[type="submit"] {
    background: #8d001a;
    color: #fff;
    padding: .5rem 1rem;
    font-weight: 600;
    display: flex;
    border: none;
    cursor: pointer;
    font-size: 20px;
    justify-content: center;
    align-items: center;
}
input[type="submit"]:hover,
button[type="submit"]:hover { background: #000; }

/*WPCF7*/
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing{
    border: 1px solid red;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{ border-color: red; color:red; }
.wpcf7 form .wpcf7-response-output{ border: 1px solid grey; }

/*SWIPER*/
.swiper-slide{  }
.swiper-pagination{  }
.swiper-pagination-bullet{  }
.swiper-pagination-bullet-active{  }
.swiper-button-next, .swiper-button-prev{  }
.swiper-button-prev{  }
.swiper-button-next{  }

.swiper-clients .swiper-wrapper {
  transition-timing-function: linear;

}

/** GRID ***/
.row{
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    flex-flow: row wrap;
}
.row.nowrap{ flex-flow: row nowrap; }
.row.flow-row{ flex-flow: row wrap; }

.middle{ align-items: center; }
.flex-end{ align-items: flex-end; }

@media (max-width: 767px){
      /*.row{ flex-flow: column wrap; }
      .row.nowrap{ flex-flow: column nowrap; }*/
}

/* 24 colonnes */
.spannomargin-1, .spannomargin-2, .spannomargin-3,
.spannomargin-4, .spannomargin-5, .spannomargin-6,
.spannomargin-7, .spannomargin-8, .spannomargin-9,
.spannomargin-10, .spannomargin-11, .spannomargin-12,
.spannomargin-13, .spannomargin-14, .spannomargin-15,
.spannomargin-16, .spannomargin-17, .spannomargin-18,
.spannomargin-19, .spannomargin-20, .spannomargin-21,
.spannomargin-22, .spannomargin-23, .spannomargin-24{ width: 100%; }

/*16 colonnes*/
.span-1, .span-2, .span-3, 
.span-4, .span-5, .span-6, 
.span-7, .span-8, .span-9, 
.span-10, .span-11, .span-12, 
.span-13, .span-14, .span-15, .span-16{ width: 100%; }


/* tablette portrait */
@media (min-width: 768px){

    /* 24 colonnes */
    .spannomargin-1{ width: 5%; }
    .spannomargin-2{ width: 5%; }
    .spannomargin-3{ width: 10%; }
    .spannomargin-4{ width: 15%; }
    .spannomargin-5{ width: 25%; }
    .spannomargin-6{ width: 25%; }
    .spannomargin-7{ width: 35%; }
    .spannomargin-8{ width: 40%; }
    .spannomargin-9{ width: 50%; }
    .spannomargin-10{ width: 50%; }
    .spannomargin-11{ width: 50%; }
    .spannomargin-12{ width: 50%; }
    .spannomargin-13{ width: 50%; }
    .spannomargin-14{ width: 50%; }
    .spannomargin-15{ width: 50%; }
    .spannomargin-16{ width: 60%; }
    .spannomargin-17{ width: 65%; }
    .spannomargin-18{ width: 75%; }
    .spannomargin-19{ width: 75%; }
    .spannomargin-20{ width: 85%; }
    .spannomargin-21{ width: 90%; }
    .spannomargin-22{ width: 95%; }
    .spannomargin-23{ width: 95%; }
    .spannomargin-24{ width: 100%; }

    /*16 colonnes*/
    .span-1{ width: 6.25%; }
    .span-2{ width: 12.5%; }
    .span-3{ width: 18.75%; }
    .span-4{ width: 25%; }
    .span-5{ width: 31.25%; }
    .span-6{ width: 37.5%; }
    .span-7{ width: 43.75%; }
    .span-8{ width: 50%; }
    .span-9{ width: 56.25%; }
    .span-10{ width: 62.25%; }
    .span-11{ width: 68.75%; }
    .span-12{ width: 75%; }
    .span-13{ width: 81.25%; }
    .span-14{ width: 87.5%; }
    .span-15{ width: 93.75%; }
    .span-16{ width: 100%; }

}
/* tablette paysage */
@media (min-width: 1024px){

    /*24 colonnes*/
    .spannomargin-1{ width: 4.16666667%; }
    .spannomargin-2{ width: 8.33333333%; }
    .spannomargin-3{ width: 12.5%; }
    .spannomargin-4{ width: 16.666666666667%; }
    .spannomargin-5{ width: 20%; }
    .spannomargin-6{ width: 25%; }
    .spannomargin-7{ width: 29.16666667%; }
    .spannomargin-8{ width: 33.333%; }
    .spannomargin-9{ width: 37.5%; }
    .spannomargin-10{ width: 41.66%; }
    .spannomargin-11{ width: 45.833333333333%; }
    .spannomargin-12{ width: 50%; }
    .spannomargin-13{ width: 54.166666666667%; }
    .spannomargin-14{ width: 58.3333333%; }
    .spannomargin-15{ width: 62.5%; }
    .spannomargin-16{ width: 66.666%; }
    .spannomargin-17{ width: 70.8266666%; }
    .spannomargin-18{ width: 75%; }
    .spannomargin-19{ width: 79.16%; }
    .spannomargin-20{ width: 83.32%; }
    .spannomargin-21{ width: 87.4866666%; }
    .spannomargin-22{ width: 91.6533333%; }
    .spannomargin-23{ width: 95.82%; }
    .spannomargin-24{ width: 100%; }
    .mille{ max-width: 960px; width: 100%; }

    /*16 colonnes*/
    .span-1{ width: 6.25%; }
    .span-2{ width: 12.5%; }
    .span-3{ width: 18.75%; }
    .span-4{ width: 25%; }
    .span-5{ width: 31.25%; }
    .span-6{ width: 37.5%; }
    .span-7{ width: 43.75%; }
    .span-8{ width: 50%; }
    .span-9{ width: 56.25%; }
    .span-10{ width: 62.25%; }
    .span-11{ width: 68.75%; }
    .span-12{ width: 75%; }
    .span-13{ width: 81.25%; }
    .span-14{ width: 87.5%; }
    .span-15{ width: 93.75%; }
    .span-16{ width: 100%; }

}
@media (min-width: 1280px){
    .mille{ max-width: 1080px; }
}
@media (min-width: 1480px){
    .mille{ max-width: 1440px; }
}

.nomobile{ display: none; }
@media (min-width: 1024px){ .nomobile{ display: flex; } }
.onlymobile{ display: flex; }
@media (min-width: 1024px){ .onlymobile{ display: none; } }

/*****************************************/

/*FONTS*/
    .thin{ font-weight: 100; }
    .light{ font-weight: 300; }
    .regular{ font-weight: 400; }
    .medium{ font-weight: 500; }
    .semibold{ font-weight: 600; }
    .bold{ font-weight: 700; }
    .ultrabold{ font-weight: 900; }

    .barlow-condensed{ font-family: "Barlow Condensed", sans-serif; }
    .barlow{ font-family: "Barlow", sans-serif; }
    .dmserif{ font-family: "DM Serif Display", serif; }

/**/

img, iframe, video{ max-width: 100%; }
h1, h2, h3, h4, h5, h6{ font-family: "DM Serif Display", serif; }
h1{ font-size: 32px; }
h2{ font-size: 28px; }
h3{ font-size: 24px; }
h4{ font-size: 20px; }
.italique, i, em{ font-style: italic; }
.lowercase{ text-transform: lowercase; }
.uppercase{ text-transform: uppercase; }
.black, a.black{ color:#000; }
.white, a.white{ color: #fff; }
.grey, a.grey{ color: #e6e0e1; }
.darkgrey, a.darkgrey{ color:#9b9697; }
.red, a.red{ color:#b93634; }


strong, b{ font-weight: 700; }
.align-left, .alignleft{ text-align: left; justify-content: flex-start; }
.align-right, .alignright{ text-align: right; justify-content: flex-end; }
.align-center, .aligncenter{ text-align: center; justify-content: center; }

img.alignleft, img.align-left{ float: left; margin: 0 1em 1em 0 }
img.alignright, img.align-right{ float: right; margin: 0 0 1em 1em }
img.aligncenter, img.align-center{ float: none; margin: 0 auto 1em auto }

.justify{ text-align: justify; }

.button{
    display: block;
    width: auto;
    text-decoration: underline;
    font-size: 16px;
    text-align: center;
    transition: ease-in-out all 0.1s;
    cursor: pointer;
    background: white;
    text-decoration: none;
}
.button:hover{
    background: black!important;
    text-decoration: none;
}

a{ color: #3f3c3c; text-decoration: none; cursor: pointer; }
a:hover{ color: #b93634; text-decoration: underline; }
p{ margin: 10px 0; }
article ul{ margin: 1em 0; }
article ul li{ list-style-type: disc; margin-left: 2em; }

.gallery {
  display: flex;
  width: 100%;
  align-items: flex-start;
  flex-flow: row wrap;
}
.gallery-item{ margin: 0 1rem 1rem 0; }


.left{ float: left; }
.right{ float: right; }
.center{ margin: 0 auto; }

.relative{ position: relative; }
.absolute{ position: absolute; }

.error{ color: red; font-weight: bold; }

/*****/
/* base */

body{
    background: #fff;
    margin: 0;
    padding: 0;
    color:#3f3c3c;
    font-family: "Barlow", sans-serif;
    font-weight: 400;
    font-size: 17px;
}
.conteneur{ max-width: 1920px; margin: 0 auto; width: 100%; overflow: hidden; }

header,  main, footer, .home_contenu{ width: 100%; }

.bandeau .masque{
    position: absolute;
    z-index: 10;
    background: rgba(0,0,0,.4);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.bandeau .masque::after{
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    /*bottom: 77.5%;*/
    height: 14rem;
    z-index: 11;
    background: #000000;
    background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 100%);
    display: none;
}
.bandeau .masque::before{
    content: " ";
    position: absolute;
    left: 11%;
    bottom: 0;
    z-index: 11;
    background: transparent url('gfx/illus-diapo.png') no-repeat 0 0 / 100%;
    width: 522px;
    height: 100px;
}
.bandeau header{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background-color: transparent;
}
.bandeau header::before{
    content: " ";
    height: 2px;
    width: 20%;
    position: absolute;
    bottom: 8px;
    right: 0;
    z-index: 13;
    background:#73787f;
}
.swiper-slide img{ display: flex; }

#home .bandeau{ /*height: 104vh;*/ height: 50vw; max-height: 990px; display: block }
#home .swiper-home{  /*height: 104vh;*/ height: 50vw; max-height: 990px; }
.swiper-home .masqueslide{
    position: absolute;
    z-index: 10;
    background: rgba(0,0,0,.4);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#home .swiper-home::after{
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    /*bottom: 77.5%;*/
    height: 14rem;
    z-index: 11;
    background: #000000;
    background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 100%);
    display: none;
}
#home .swiper-home::before{
    content: " ";
    position: absolute;
    left: 11%;
    bottom: 0;
    z-index: 11;
    background: transparent url('gfx/illus-diapo.png') no-repeat 0 0 / 100%;
    width: 522px;
    height: 100px;
}
.swiper-pagination-bullets.swiper-pagination-horizontal, 
.swiper-pagination-bullets.swiper-pagination-vertical{
    right: 12.5%;
    bottom: 40%;
    top: auto;
    left: auto;
    width: auto;
    z-index: 30;
}
.swiper-pagination-clickable .swiper-pagination-bullet{ 
    border: 2px solid white; 
    background: transparent; 
    opacity: .5;
    width: 10px;
    height: 10px;
}
.swiper-pagination-clickable .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background: white; opacity: 1;
}
a#logo{
    display: block;
    background: transparent url('gfx/logo-blanc2.png') no-repeat center top / 100%;
    width: 144px;
    height: 111px;
    margin: 20px auto 0 auto;
    max-width: 70%;
}
.menu-toggle{ display: none; }
.nav-menu{ display: flex; }
nav{
    margin: 0;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    width: auto;
    position: relative;
    z-index: 4000;
}
.menu-menu-principal-container{
    display: flex;
    width: 100%;
    position: relative;
    margin: 30px 0 0 0;
    z-index: 5000;
}
nav ul{
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-end;
}
nav ul li{
    list-style-type: none;
    display: inline-flex;
    text-align: center;
    background: transparent;
    transition: ease-in-out all 0.1s;
    position: relative;
}
nav ul li a{
    /*font-size: 17px;*/
    font-size: 19px;
    font-family: "Barlow Condensed", sans-serif; 
    display: flex;
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .1rem;
    line-height: 72px;
    padding: 0 2px;
    margin: 0 24px;
    width: auto;
    background: transparent;
    border: 0;
    border-top: 2px solid transparent;
}
nav > div > ul > li:nth-last-of-type(2) > a{
    font-weight: 700;
}
nav ul li:hover{ }
nav ul li a:hover, 
nav > div > ul > li.current-menu-item > a, 
nav > div > ul > li.current-page-ancestor > a{
    transition: ease-in-out all 0.1s;
    text-decoration: none;
    border-color: white;
    color: white;
}
nav ul li ul{
    position: absolute;
    top: 74px;
    left: 0;
    z-index: 5001;
    padding: 0;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #b6b2b4;
    padding: 1rem 0 2rem 0;
    display: none;
    flex-flow: column nowrap; 
    align-items: flex-start;
    justify-content: flex-start;
    min-width: 175%;
    width: auto;
}
nav > div > ul > li:nth-child(2) > ul{
    min-width: 300%;
}
nav ul li:hover ul{ display: flex;  }
nav ul li ul li{
    display: inline-flex;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 0 0 28px;
    position: relative;
}
nav ul li ul li a{
    font-size: 17px;
    color: #3f3c3c;
    padding: 0;
    margin: 0;
    line-height: 38px;
    border: 0px;
    border-bottom: 1px solid #e6e0e1;
    width: calc(100% - 56px );
    text-align: left;
    position: relative;
}
nav ul > li > ul > li.menu-item-has-children > a::after{
    content: ">";
    right: 0;
    position: absolute;
}
nav > div > ul > li:nth-last-of-type(2)::after{
    content: " ";
    height: 52px;
    width: 185px;
    position: absolute;
    bottom: -44px;
    left: 10px;
    z-index: 14;
    background:transparent url('gfx/illus-contact.png') no-repeat 0 0;
}
nav ul li ul li a:hover, 
header.fixe nav div ul li ul li a:hover, 
nav > div > ul > li > ul >li.current-menu-item > a,  
nav > div > ul > li > ul > li > ul > li.current-menu-item a{
    color: #b93634;
    border-color: #b93634;
    text-decoration: none;
}
nav ul li ul li ul{
    position: absolute;
    top: calc( 0% - 1rem - 1px );
    left: calc( 100% - 28px );
    z-index: 5001;
    padding: 1rem 0 2rem 0;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #b6b2b4;
    display: none;
    min-width: 75%;
}
nav ul li ul li ul li a{ text-transform: none; }

header.fixe{
    position: fixed;
    height: 104px;
    background-color: rgba(255, 255, 255, 0.95);
    z-index: 5000;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .1);
    transition: ease-in-out background-color .3s;
}
header.fixe nav div ul li a{ color:#3f3c3c; }
header.fixe nav > div > ul > li > a:hover, 
header.fixe nav > div > ul > li.current-menu-item > a, 
header.fixe nav > div > ul > li.current-page-ancestor > a{
    border-color:#3f3c3c;
}
header.fixe a#logo{
    width: 264px;
    max-width: none;
    height: 60px;
    background: transparent url('gfx/logo-fixe.png') no-repeat center;
}
header.fixe::before{ display:none; }

footer{  }
.footer1{ margin: 120px 0 0 0; }
.footer1 h2{
    font-size: 108px;
    line-height: 100px;
    padding: 64px 0 0 0;
    background: transparent url('gfx/illus-bloc2.png') no-repeat 92% top;
    position: relative;
    z-index: 3;
    margin-bottom: 8px;
}
.bt-contact{
    display: block;
    background:#b93634;
    text-align: center;
    line-height: 76px;
    color: white;
    text-transform: uppercase;
    font-size: 18px;
    transition: ease-in-out all .15s;
}
.bt-contact:hover{
    color: white;
    text-decoration: none;
    background: #3f3c3c;
    transition: ease-in-out all .15s;
}
.footer3{ margin-top: 120px; }
.footer3 p.slogan{ margin: 2.25rem 0 1rem 0; font-size: 16px; width: 80%; }
.footer3 p.slogan b{ display: inline-block; margin-top: .5rem; }
.footer3 p.adresse{ margin: 2.25rem 0 1rem 0; font-size: 16px; width: 60%; }
.footer3 a.telephone{ font-size: 24px; font-weight: 600; }
.footer3 a.telephone:hover{ text-decoration: none; color:#3f3c3c; }
.footer3 p.suivez{ font-size: 16px; color: #b6b2b4; margin: 5.25rem 0 0 0; }
.footer3 p.suivez img{ margin-left: 1rem; }
.footer4{ margin-top: 60px; position: relative; padding: 60px 0; }
.footer4::before{
    content: " ";
    height: 2px;
    background:#b93634;
    width: 55%;
    position: absolute;
    top: 0;
    right: 0;
}
.footer4 p.copyright{ font-size: 14px; margin: 0; }

.poprappel{
    display: block;
    max-width: calc(100% - 10px);
    margin: 0 0 0 auto;
    background:#fff;
    border: 1px solid #b93634;
    text-align: center;
    line-height: 74px;
    color: #b93634;
    font-size: 18px;
    transition: ease-in-out all .15s;
    cursor: pointer;
    position: relative;
    font-style: italic;
    font-family: "DM Serif Display", serif;
    text-indent: 20px;
}
.poprappel::before{
    content: " ";
    width: 66px;
    height: 74px;
    background: transparent url('gfx/rappel.png') no-repeat 0 0;
    position: absolute;
    left: 32px;
    top: -26px;
}
.poprappel:hover{
    color:#3f3c3c;
    transition: ease-in-out all .15s;
}
.pop-rappel{
  position: fixed;
  left: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 10002;
  background: rgba(0,0,0,.5);
  opacity: 0;
}
.pop-rappel.show{ left: 0; opacity: 1; }
.in-rappel{
  background: white url('gfx/rappel.png') no-repeat .5rem 1rem;
  width: 70%;
  max-width: 320px;
  padding: 3vw 2vw 2vw 2vw;
  margin: 10vw auto!important;
  position: relative;
  box-shadow: 0 0 50px rgba(0, 0, 0, .4);
  opacity: 0;
  transition: ease-in-out all .2s;
}
.pop-rappel.show .in-rappel{
    opacity: 1;
    transition: ease-in-out all .2s;
}
.pop-closerappel{
  position: absolute;
  right: -3rem;
  top:-3rem;
  font-size: 2rem;
  line-height: 3rem;
  width: 3rem;
  background: white;
  color:#b93634;
  border-radius: 100%;
  text-align: center;
  cursor: pointer;
}
.pop-closerappel:hover{
  background:#b93634;
  color:white;
}
.pop-rappel input[type="tel"], .pop-rappel input[type="text"]{
    line-height: 36px;
    border: 1px solid #b93634;
}
.pop-rappel .ligne1{ margin-bottom: 1rem; }
.pop-rappel input[type="tel"]::placeholder, .pop-rappel input[type="text"]::placeholder{
    font-size: 18px;
    text-transform: uppercase;
    color:#b93634;
}
.pop-rappel input[type="submit"]{
    display: block;
    background: #b93634;
    text-align: center;
    line-height: 36px;
    color: white;
    text-transform: uppercase;
    font-size: 18px;
    transition: ease-in-out all .15s;
    margin: 0 auto 0 auto
}
.pop-rappel .wpcf7-spinner{ position: absolute; left: 0; bottom: -2rem; margin: 0; }
.pop-rappel input[type="submit"]:hover{
    background:#3f3c3c;;
    transition: ease-in-out all .15s;   
}
.wpcf7-form-control-wrap{ width: 100%; }
.titrepage{ 
    top: 45%; 
    left: 0; 
    justify-content: center;
    z-index: 12;
}
.titrepage h1{
    font-size: 90px;
    line-height: 90px;
    font-family: "Barlow Condensed", sans-serif; 
    text-transform: uppercase;
    letter-spacing: .25rem;
    font-weight: 300;
    /*width: 80%;*/
    width: 50%;
    text-align: center;
    margin: 0 10%;
}
.titrepage p.bread{
    font-size: 17px;
    font-family: "Barlow Condensed", sans-serif; 
    text-transform: uppercase;
    letter-spacing: .02rem;
    font-weight: 300;
    width: 100%;
    text-align: center;
    margin: 0;
}
/* home */
.mots-home{
    left: 0;
    top: 10%;
    right: 0;
    bottom: 0;
    z-index: 20;
}
.in-mots-home{ 
    /*height: 104vh;*/ 
    height: 50vw;
    max-height: 990px;
    flex-flow: column wrap; 
    justify-content: center; 
    align-items: flex-start; 
}
.ligne-mot{ min-height: 10vw; }
.ligne-mot h2{
    /*font-size: 9.5vh;*/
    font-size: 4.675vw;
    /*line-height: 9.5vh;*/
    line-height: 4.675vw;
    font-family: "Barlow Condensed", sans-serif; 
    text-transform: uppercase;
    letter-spacing: .25rem;
    font-weight: 300;
    position: relative;
}
.ligne-mot h2::after{
    content: " ";
    height: 1px;
    width: 100%;
    background: white;
    position: absolute;
    left: 0;
    bottom: .5rem;
    opacity: .5;
}
#mot1 h2::after{ left: -50%; transition: ease-in-out all .8s; }
#mot2 h2::after{ left: -25%; transition: ease-in-out all .8s; }
#mot3 h2::after{ left: -40%; transition: ease-in-out all .8s; }
#mot1 h2:hover::after{ left: -5%; transition: ease-in-out all .4s; opacity: 1; }
#mot2 h2:hover::after{ left: -5%; transition: ease-in-out all .4s; opacity: 1; }
#mot3 h2:hover::after{ left: -5%; transition: ease-in-out all .4s; opacity: 1; }
.ligne-mot h2 a{ color: white; transition: ease-in-out all .2s; opacity: 1; }
.ligne-mot h2 a:hover{ 
    text-decoration: none; 
    text-shadow:
    -1px -1px 0 #fff,
    1px -1px 0 #fff,
    -1px 1px 0 #fff,
    1px 1px 0 #fff;
    transition: ease-in-out all .2s; 
}
.ligne-mot p{ 
    opacity: 0; 
    /*font-size: 1.7vh;*/
    font-size:.82vw;
    /*line-height: 2vh;*/
    line-height: 1.05vw;
    max-width: 60%; 
    /*margin: 1rem 0 2rem 0; */
    margin: .8vw 0 1.5vw 0;
    transition: ease-in-out all .2s; 
}
.ligne-mot .spannomargin-10:hover p{ opacity: 1; transition: ease-in-out all .2s; }
.ligne-mot h2 a::before{
    content: " ";
    display: block;
    background: transparent url('gfx/illus-titre1.png') no-repeat center / 100%;
    width: 110px;
    height: 32px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 10;
    opacity: 0;
}
.ligne-mot.active h2 a::before{ opacity: 1; }
#home .bandeau{ margin-bottom: 180px; }
/*blocs*/
.bloc{
    padding: 0 0 200px 0;
   /*background: transparent url('gfx/illus-bloc1.png') no-repeat right bottom;*/
    background: transparent url('gfx/illus-bloc1.png') no-repeat right 92.5%;
}
img.blocmini{
    position: absolute;
    z-index: 2;
    left: -25%;
    bottom: -90px;
    max-width: 52%;
}
.bloc.texteimage .legende{
    width: 70%;
    margin: 2rem 0 0 30%;
    font-size: 16px;
    line-height: 28px;
}
.bloc.reverse.texteimage .legende{
    margin: 2rem 30% 0 0;
    text-align: left;
}
img.blocmini.aveclegende{ bottom: 0px; }
.bloc h2{
    font-size: 108px;
    padding: 0 0 2rem 0;
    width: 120%;
    position: relative;
    margin-left: -15%;
}
.bloc h2::before{
    content:" ";
    width: 265px;
    height: 74px;
    background: transparent url('gfx/illus-titre1.png') no-repeat 0 0;
    position: absolute;
    top: -80px;
    left: 30%;
    z-index: 3;
}
.bloc h2::after{
    content: " ";
    width: 60%;
    height: 1px;
    position: absolute;
    left: -17.5%;
    bottom: 0;
    background: #b93634;
}
.bloc h3{
    font-size: 30px;
    padding: 3rem 0;
    margin-left: 17.5%;
}
.bloc .zone-texte{
    width: 65%;
    margin-left: 35%;
}
.zone-texte p{
    font-size: 17px;
    line-height: 24px;
    margin: 0 0 1rem 0;
}
a.btn{
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 48px;
    display: block;
    width: max-content; 
    padding: 0 62px;
    border: 1px solid #3f3c3c;
    color: #3f3c3c;
    transition: ease-in-out all .1s;
}
a.btn:hover{
    border: 1px solid #b93634;
    color: #fff;
    background: #b93634;
    text-decoration: none;
    transition: ease-in-out all .1s;
}
a.btn.red{
    border: 1px solid #b93634;
    color: #b93634;
    transition: ease-in-out all .1s;
}
a.btn.red:hover{
    border: 1px solid #b93634;
    color: #fff;
    background: #b93634;
    text-decoration: none;
    transition: ease-in-out all .1s;
}
a.btn.brd{
    color: #b93634;
    background: transparent;
    border-bottom-color:#dfdadb;
    border-top-color: transparent;
    border-left-color: transparent;
    border-right-color: transparent;
    transition: ease-in-out all .1s;
}
a.btn.brd:hover{
    color: #3f3c3c;
    border-bottom-color:#3f3c3c; 
    transition: ease-in-out all .1s;
}
.btn.real{
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    color: #b93634;
    border-bottom-color:#b93634;
    border-top-color: transparent;
    border-left-color: transparent;
    border-right-color: transparent;
    text-align: center;
    transition: ease-in-out all .1s;
}
.btn.real:hover{
    background: transparent;
    color: #3f3c3c;
    border-bottom-color:#3f3c3c;
    border-top-color: transparent;
    border-left-color: transparent;
    border-right-color: transparent;
    transition: ease-in-out all .1s;
}
.btn.mini{ line-height: 32px; padding: 0 42px; font-size: 11px; }



.bloc a.btn{ margin: 2.5rem 0 0 35%; }
#home h2.slogan{
    margin: 80px auto;
    font-size: 34px;
}
.trait-gris{
    height: 1px;
    width: 100%;
    background:#e6e0e1;
}
.depuis57titre{ margin: 60px 0 0 0; }
.depuis57soustitre h3{
    font-size: 30px;
    margin: 1rem auto 2rem auto;
}
.depuis57texte .zone-texte{
    width: 85%;
}
.depuis57texte .trait-gris{ width: 90%; margin-bottom: 3rem; }
.depuis57texte a.btn.brd{ margin-top: 2rem; }
.bggrey{ background:#e6e0e1; }

#page .row.bggrey{ padding: 3rem 0 5rem 0; margin-bottom: 70px; }

.realisations{
    padding: 40px 0 110px 0;
    margin: 220px 0 110px 0;
    position: relative;
}
.realisations::before, .realisations::after{
    content: " ";
    width: 265px;
    height: 74px;
    background: transparent url(gfx/illus-titre1.png) no-repeat 0 0;
    position: absolute;
    top: -50px;
    left: 37%;
    z-index: 3;
}
.realisations::after{
    top: auto;
    bottom: -50px;
    left: 30%;
}
.flex{ display: flex; }
.flex.column{ flex-flow: column wrap; }
.flex.column-reverse{ flex-flow: column-reverse wrap; }
.mrgneg-2{ margin-left: -8.33333333%; }
.realisations-home .spannomargin-6{ margin-top: 160px; }
.realisations-home .spannomargin-8{ margin-top: 100px; margin-bottom: -220px; }
.realisations-home .column-reverse .cartouche{ width: 75%; margin-left: 25%; }
.realisations-home .cartouche{ margin: 1rem 0 3rem 0; flex-flow: column wrap; }
.realisations-home .cartouche h3{ font-size: 17px; }
.realisations-home .cartouche p{ font-size: 15px; margin: .5rem 0 1.25rem 0; }
#page .realisations-home .spannomargin-6{ margin-top: 100px; }
.bigh2{
    font-size: 108px;
    line-height: 128px;
}
.trait-rouge{
    width: 100%;
    height: 1px;
    background: #b93634;
}
.spacearound{ justify-content: space-around; }
.success-titre .trait-rouge{ margin: 80px auto; }
.success-logos .swiper img{ opacity: 50%; }
.chiffres-cles{ margin-top: 20px; }
.chiffres-cles .bigh2{ margin-bottom: 70px; }
.chiffre-cle h3{ font-size: 48px; margin-top: 1rem; }
.chiffres-cles .chiffre-cle.num2{ margin-top: 10px; }
.chiffres-cles .chiffre-cle.num4{ margin-top: 16px; }
.chiffre-cle h4{ font-size: 24px; }
.chiffre-cle p{ font-size: 17px; line-height: 24px; margin: 0 17.5%; width: 65%; }
#home .realisations{ margin-top: 120px; }


/*contact*/
.bloc .wpcf7 input[type="text"], 
.bloc .wpcf7 input[type="email"], 
.bloc .wpcf7 input[type="tel"], 
.bloc .wpcf7 select, 
.bloc .wpcf7 textarea{
    border: 0px;
    border-bottom: 2px solid #dddbdc;
    line-height: 46px;
    padding: 0 .5rem;
    width: calc(100% - 1rem);
    font-size: 20px;
    color:#484646;
    margin: 0 0 2rem 0;
}
.bloc .wpcf7 textarea{
    line-height: 22px;
    padding: .5rem;
}
.bloc .wpcf7 input[type="text"]::placeholder, 
.bloc .wpcf7 input[type="email"]::placeholder, 
.bloc .wpcf7 input[type="tel"]::placeholder, 
.bloc .wpcf7 textarea::placeholder{  color:#484646; }
.bloc .wpcf7 input[type="submit"]{
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 70px;
    display: block;
    width: 100%; 
    padding: 0;
    margin: 2rem 0 .5rem 0;
    transition: ease-in-out all .1s;
    border: 1px solid #b93634;
    color: #fff;
    background: #b93634;
}
.bloc .wpcf7 input[type="submit"]:hover{
    background: #fff;
    color: #b93634;
    transition: ease-in-out all .1s;
}
.page-contact .bloc h3{ margin-left: 0; color: #b93634; max-width: 75%; }
.page-contact .trait-rouge{
    margin: 60px 0;
}
.page-contact .bloc{
    margin-top: 100px;
    padding: 90px 0 0 0;
    background: transparent url('gfx/illus-titre1.png') no-repeat 61% top;
}
.page-contact .realisations{ margin-top: 160px; }
.page-contact .bloc .adresse.societe{ margin: 2rem 0; font-weight: 500; }
.page-contact .bloc .telephone{ font-size: 30px; font-weight: 400; }
.page-contact .bloc .telephone:hover{ text-decoration: none; color:#484646; }
.page-contact .bloc img.blocmini{ bottom: 100px; }
.page-contact .bloc .telephone.btn{
    display: block;
    max-width: calc(100% - 10px);
    margin: 0 0 0 auto;
    background:#b93634;
    border: 1px solid #b93634;
    text-align: center;
    line-height: 74px;
    color: #fff;
    font-size: 18px;
    transition: ease-in-out all .15s;
    cursor: pointer;
    position: relative;
    font-style: italic;
    font-family: "DM Serif Display", serif;
    text-indent: 0!important;
}
.page-contact .bloc .telephone.btn:hover{ color: black; }

/* blocs page*/
.blocs-page .bloc{ padding: 100px 0 190px 0; margin: 110px 0 0 0; margin: 0 0 0 0; }
.blocs-page .bloc.bloc.texteimage{ align-items: center; }
.blocs-page .bloc.reverse{ flex-flow: row-reverse wrap; background-position: 5% 92.5%; }
.blocs-page .bloc .zone-texte{ width: 100%; margin: 0; }
.blocs-page .bloc h2{ color: #b93634; font-size: 30px; line-height: 40px; width: 100%; margin: 60px 0 40px 0; padding: 0; }
.blocs-page .bloc h3{ font-size: 24px; margin-left: 0; padding: 0; margin: 2rem 0; }
.blocs-page .bloc h4{ font-size: 20px; margin-left: 0; padding: 0; margin: 2rem 0; }
.blocs-page .bloc h2::after{ display: none; }
.bloc h2::before{ left: 0; top: -140px; z-index: 11; }
.bloc.blocnb1 h2::before{ left: 0; top: -180px; }
.blocs-page .bloc p{ text-align: justify; }
.zone-texte ul{ margin: 2rem 0; }
.zone-texte ul li{ 
    font-size: 17px;
    line-height: 24px;
    margin: 0 0 .5rem 2rem;
}
.blocs-page .bloc.reverse img.blocmini{ left: auto; right: -25%; }
.blocs-page .bloc.texteseul h2{ 
    /*color:#3f3c3c;*/
    /*padding: 0 0 100px 0;*/
    /*margin: 20px 0 80px 0;*/
    margin: 0 0 0 0;
    padding: 74px 0 40px 0;
 }
.blocs-page .bloc.texteseul {
    padding: 0 0 60px 0;
    /*margin: 110px 0 0 0;*/
    margin: 0px 0 0 0;
    background: transparent;
}
.blocs-page .bloc.texteseul h2::before{
    width: 168px;
    height: 48px;
    background: transparent url('gfx/illus-titre2.png') no-repeat 0 0;
    top: auto;
    left: -120px;
    top: 0px;
}
.blocs-page .bloc p a{ position: relative; display: inline-flex; }
.blocs-page .bloc p a:hover{ text-decoration: none; }
.blocs-page .bloc p a::after{ 
    content: " ";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    bottom: -20%;
    top: 60%;
    background: #e6e0e1;
}
.blocs-page .bloc.texteseul .trait-rouge{
    margin: 60px 0 40px 0;
}
.bloc-liens{ margin-bottom: 2rem; }
.bloc-liens .vignette-lien{
    display: block;
    margin: 0 auto 1rem auto;
    width: 96.5%;
    position: relative;
}
.bloc-liens .vignette-lien img{ display: flex; }
.bloc-liens .vignette-lien h4{
    position: absolute;
    display: flex;
    left: 0;
    top:0;
    bottom: 0;
    right: 0;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
    z-index: 3;
    color: white;
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
    letter-spacing: .1rem;
    font-size: 20px;
    font-weight: 500;
}
.bloc-liens .vignette-lien p{
    position: absolute;
    display: flex;
    left: 10%;
    top: 50%;
    bottom: 0;
    right: 10%;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
    z-index: 3;
    color: white;
    font-family: "Barlow Condensed", sans-serif;
    letter-spacing: .1rem;
    font-size: 16px;
    font-weight: 500;
    opacity: 0;
    transition: ease-in-out all .4s;
}
.bloc-liens .vignette-lien h4::after{
    content: " ";
    position: absolute;
    width: 80px;
    height: 1px;
    background: #b93634;
    /*left: calc(50% - 40px);*/
    top: 62%;
    transition: ease-in-out all .8s;
}
.bloc-liens .vignette-lien::after{
    content: " ";
    position: absolute;
    left: 0;
    top:0;
    bottom: 0;
    right: 0;
    z-index: 2;
    background: rgba(0, 0, 0, .6);
    transition: ease-in-out all .4s;
}
.bloc-liens .vignette-lien:hover::after{
    background:#e8e0e0;
    transition: ease-in-out all .2s;
}
.bloc-liens .vignette-lien:hover h4{ color:#3f3c3c; }
.bloc-liens .vignette-lien:hover h4::after{ width: 70%; transition: ease-in-out all .4s; }
.bloc-liens-titre h2{
    font-size: 30px;
    padding: 90px 0 0 0;
    margin: 70px 0 50px 0;
    position: relative;
}
.bloc-liens-titre h2::after{
    content: " ";
    width: 265px;
    height: 74px;
    background: transparent url(gfx/illus-titre1.png) no-repeat 0 0;
    position: absolute;
    top: 0px;
    left: -120px;
    z-index: 3;
}
.bloc-liens .vignette-lien:hover p{
    opacity: 1;
    transition: ease-in-out all .4s;
    color:#3f3c3c;
}
#page .footer1{ margin-top: 0px; }
/* realisations */
a.real{ 
    display: block;
    margin: 130px auto 0 auto;
    width: 92%;
    position: relative;
    padding: 0 0 90px 0;
}
a.real img{ display: flex; }
a.real .cartouche{
    display: flex;
    flex-flow: column wrap;
    background:#e8e0e0;
    position: absolute;
    bottom: 0;
    left: 13%;
    width: 54%;
    text-align: center;
    align-items: center;
    justify-content: flex-start;
    padding: 30px 10% 0 10%;
    opacity: 0;
    transition: ease-in-out all .4s;
}
a.real:hover .cartouche{ opacity: 1; transition: ease-in-out all .2s; color:#3f3c3c; }
a.real .cartouche h3{ font-size: 16px; font-weight: 500; }
a.real .cartouche p{ font-size: 16px; font-family: "Barlow Condensed", sans-serif; margin: .5rem 0; }
a.real .cartouche .btn.mini{
    width: 100%; 
    padding: 0;
    margin: 40px 0 0 0;
    text-transform: uppercase;
    position: relative;
    display: block;
}
a.real .cartouche .btn.mini::after{
    content: " ";
    width: 100%;
    height: 1px;
    background: #b93634;
    display: block;
    position: absolute;
    bottom: 0;
    left:0;
    transition: ease-in-out all .8s;
}
a.real:hover .cartouche .btn.mini::after{
    width: 185%;
    left: -43%;
    transition: ease-in-out all .4s;
}
.listereal{
    opacity: 1;
    transition: ease-in-out opacity .2s; 
}
.listereal.hidden{ 
    opacity: 0; 
    width: 0px; 
    height: 0px; 
    padding: 0px; 
    margin: 0px; 
    overflow: hidden; 
    transition: ease-in-out opacity .2s; 
}
.listereal.selected{ opacity: 1; transition: ease-in-out opacity .2s;  }
span.thematique{
    line-height: 80px;
    display: inline-block;
    text-transform: uppercase;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 17px;
    letter-spacing: .05rem;
    margin: 2.5rem 1.5rem 1rem 0;
    cursor: pointer;
    border-top: 2px solid transparent;
}
span.thematique:hover{ color:#b93634; }
span.thematique.selected{
    color:#b93634;
    border-color:#b93634;
}
select#services{
    line-height: 42px;
    display: inline-block;
    text-transform: uppercase;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 17px;
    letter-spacing: .05rem;
    margin: 1.5rem 0 0 0;
    padding: 0 .5rem;
    cursor: pointer;
    border: 0px;
    border-bottom: 1px solid #dddbdc;
    background: transparent url('gfx/select.png') no-repeat 95% center;
}
.page-realisations .bggrey{ padding: 0 0 8rem 0; }
.diapo-conteneur{ width: calc( 100% - 1.75rem ) }
.real4{ 
    max-width: 129.65%; 
    width: 129.65%; 
    margin-left: -29.65%; 
    position: relative; 
    z-index: 10; 
    margin-top: 1.5rem;
}
.ligneretour{ margin-top: 3rem; }
#single .blocs-page .bloc.texteimage{ margin-top: 2rem; margin-bottom: 100px; align-items: flex-start; }
#single .bigh1{
    font-size: 108px;
    line-height: 108px;
    padding: 0;
    width: 120%;
    position: relative;
    margin: 3rem 0 -100px 0%;
    font-family: "DM Serif Display", serif;
}

#single .blocs-page .bloc.texteimage h2{ margin-left: 24%; }
#single .blocs-page .bloc.texteimage h2::before{ left: -25%; top: -200px; }
#single .trait-rouge.decal{ position: relative; z-index: 3; margin: 0 0 2rem -100%; }
#single .bloc.texteimage .zone-texte{ margin: 3rem 0 0 0; padding: 4rem 0 0 0; position: relative; }
#single .bloc.texteimage .zone-texte::before{
    content: " ";
    width: 33%;
    height: 1px;
    background: #b93634;
    display: block;
    position: absolute;
    top: 0;
    right:-15%;
}
p.caracz{ text-transform: uppercase; font-size: 15px; text-align: left!important; }
p.caracz span{ text-transform: none; font-size: 19px; margin-left: .5rem; }
#single .blocs-page .bloc.texteseul h2{ margin-top: 4rem; }
#single .footer1{ margin-top: 40px; }
.diapo-conteneur .swiper-button-next:after, 
.diapo-conteneur .swiper-button-prev:after{ color: white!important; font-size: 2rem!important; }
.diapo-conteneur .swiper-button-next{ right: 3rem; }
.diapo-conteneur .swiper-button-prev{ left: 3rem; }
.diapo-conteneur .swiper-pagination-bullets.swiper-pagination-horizontal{
    right: 0;
    width: 100%;
    bottom: -4rem;
}
.diapo-conteneur .swiper-pagination-clickable .swiper-pagination-bullet{ border-color:#b93634; }
.diapo-conteneur .swiper-pagination-clickable .swiper-pagination-bullet.swiper-pagination-bullet-active{ background-color:#b93634; }
/*PLIAGE*/
.page-pliage .blocs-page .bloc{ padding-bottom: 100px; }
.page-pliage .blocs-page .bloc.texteseul{ padding-bottom: 60px; }
.blocs-page .bloc .zone-texte ul li{
    list-style-type: none;
    margin: 0 0 1.5rem 0;
    padding: 0;
    position: relative;
    text-align: justify;
}
.blocs-page .bloc .zone-texte ul li::before{
    content: " ";
    background: transparent url('gfx/puce.png') no-repeat left top;
    width: 38px;
    height: 11px;
    position: absolute;
    z-index: 1;
    left: -3.5rem;
    top: 1rem;
}
.page-pliage .bggrey{
    /*margin: 130px 0 0 0;*/
    margin: 100px 0 0 0;
    /*padding: 50px 0 90px 0;*/
    padding: 50px 0 72px 0;
}
.titre-service h2{
    display: block;
    width: 100%;
    position: relative;
}
.titre-service h2::before{
    content: " ";
    width: 265px;
    height: 74px;
    background: transparent url(gfx/illus-titre1.png) no-repeat 0 0;
    position: absolute;
    top: -100px;
    left: 30%;
    z-index: 3;
}
.titre-service h4{
    display: block;
    font-size: 30px;
    width: 100%;
    margin: -2.5rem 0 0 25%;
    font-style: italic;
    position: relative;
    z-index: 3;
}
.titre-service h4 span{ font-style:normal; }
.page-pliage .bggrey .realisations-home .spannomargin-6{ margin-top: 80px; }
.pliage-images{ margin: 3rem 0; }
.lepliage{ margin: 3rem 0 6rem 0; }
.lepliage .bigh2::before{ display: none; }
.pliage-images p{ 
    font-size: 20px; 
    line-height: 24px; 
    margin: 0 auto 2rem auto; 
    padding: 2rem 0; 
    border-bottom: 1px solid #b93634;
    max-width: 96%;
}
.pliage-images img{ max-width: 96%; margin: 0 auto; }
.vsavezprojet-titre h2{ font-size: 30px; line-height: 28px; margin: 3rem 0 1.5rem 0; }
.page-pliage.particuliers .bggrey{ margin: 160px 0 0 0; }
.page-pliage.particuliers .videos{ margin: 3rem 0; }
.page-pliage.particuliers .videos p.legende{ margin: 1.5rem 0 0 0; }
.page-pliage.particuliers.landing .footer1{ margin-top: 0; }
.bandeau .soustitre{ font-size: 34px; font-weight: 300; letter-spacing: .1rem; }
.page-pliage.particuliers.landing main .wpcf7{
    border: 1px solid #b93634;
    background: white;
    padding: 1.5rem 1.5rem 0 1.5rem;
    position: relative; 
    z-index: 20; 
    margin-top: -260px; 
}
.page-pliage.particuliers.landing main .wpcf7 .poprappel{
    padding-left: 15%;
    margin: 3rem 0 2rem 0;
}
.page-pliage.particuliers.landing main .wpcf7 p.medium{ font-size: 20px; }
.page-pliage.particuliers.landing main .wpcf7 h3{ margin-bottom: .5rem; margin-top: 1rem; }
.page-pliage.particuliers.landing main .wpcf7 p.medium:nth-of-type(2){ font-size: 16px; }
.page-pliage.particuliers.landing .blocs-page .bloc:first-of-type{ margin-top: 60px; }

.page-pliage.particuliers.landing main .wpcf7  input[type="text"], 
.page-pliage.particuliers.landing main .wpcf7  input[type="email"], 
.page-pliage.particuliers.landing main .wpcf7  input[type="tel"], 
.page-pliage.particuliers.landing main .wpcf7  textarea{
    border: 0px;
    background:#f2ebed;
    margin-bottom: .5rem;
    padding: .5rem 1.5rem;
    border-radius: 30px;
    width: calc( 100% - 3rem);
}
.page-pliage.particuliers.landing main .wpcf7  textarea{ padding: 1rem 1.5rem; }
.thecontent.bloc .zone-texte{ width: 100%; margin-left: 0; }
.thecontent.bloc .zone-texte h2{ font-size: 32px; line-height: 38px; margin-left: 0; }
.thecontent.bloc .zone-texte h2::before, .thecontent.bloc .zone-texte h2::after{ display: none; }

.troisphotos{ margin: 140px 0; }
.troisphotos .spannomargin-12 > img{ }
.troisphotos .spannomargin-12 > .spannomargin-24 > img{ 
    margin-left: 20px; 
    max-width: calc( 100% - 20px ); 
    margin-bottom: 20px; 
}
.troisphotos .spannomargin-12 > .spannomargin-16 > img{  
    margin-left: 20px; 
    max-width: calc( 100% - 20px ) 
}




/**/
@media (min-width: 2px) and (max-width: 1023px){
	#home .swiper-vertical{  touch-action: inherit; }
    #home .bandeau, 
    #home .swiper-home, 
    .in-mots-home{ height: 115vh; max-height: 740px; }
    .mille{ width: 100%; }
    header .spannomargin-4{ width: 50%; }
    header .spannomargin-14{ width: 50%; }
    header .spannomargin-6{ width: 0; }
    header.fixe{ position: absolute; height: auto; }
    a#logo{ margin-top: 38px; margin-left: 20%; width: 55%; max-width: 114px; }
    .bandeau header::before{ display: none; }
    header.toggled-on a#logo{ background-image: url('gfx/logo-footer.png'); }
    .menu-toggle{
        width: calc( 48px + 20% );
        padding: 56px 10% 0 10%;
        background: transparent url('gfx/menu.png') no-repeat center top;
        color: #fff;
        border:0;
        display: block;
        font-size: 16px;
        letter-spacing:.05rem;
        text-transform: uppercase;
        line-height: 16px;
        text-align: center;
        margin: 50px 0 0 10%;
    }
   .menu-toggle:active, .menu-toggle:focus, .menu-toggle:hover{
        text-decoration: none;
    }
    .menu-toggle.toggled-on{
        color:#b93634;
        background: transparent url('gfx/menu-off.png') no-repeat center top;
    }
    #site-navigation{ width: 100%; }
    .menu-menu-1-container, .menu-mobile-container{ width: 100%; position: relative; }
    .nav-menu{ 
        display: none; 
        padding: 54px 0;  
        margin: 0; 
        z-index: 10001; 
        width: 200%;
        position: absolute;
        left: -100%;
        top: 0;
        background-color: #e8e0e0;
     }
    .nav-menu.toggled-on{ display: flex; }
    header.toggled-on{ background-color: #e8e0e0;  }
    nav ul{
        flex-direction: column;
    }
    nav ul li{
        list-style-type: none;
        display: flex;
        flex-flow: column wrap;
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left;
        transition: ease-in-out all 0.1s;
        width: 80%;
        padding: 0 10%;
    }
    nav ul li a{
        font-size: 24px;
        line-height: 56px;
        display: block;
        color:#3f3c3c;
        text-decoration: none;
        width: 100%;
        padding: 0;
        margin: 0;
        border-top: 1px solid white;
    }
    nav ul li:first-child a{ border-top: 0px; }
    nav ul li a:hover{ color:#3f3c3c; }
    nav ul li ul, nav > div > ul > li:nth-child(2) > ul{
        position: relative;
        top: auto;
        left: auto;
        border:0px;
        margin:0;
        padding:0 0 1.5rem 0;
        min-width: 100%;
        background: transparent;
    }
    nav ul li:hover ul{ }
    nav ul li ul li{
        display: list-item;
        margin-bottom: 1rem;
        width: calc( 90% - 28px );
    }
    nav ul li ul li a{
        text-transform: none;
        font-size: 24px;
        line-height: 30px;
        letter-spacing: .1rem;
        width: 100%;
    }

    nav ul li ul li a:hover{
        text-decoration: none;
    }
    nav > div > ul > li:nth-last-of-type(2)::after{ display:none; }
    nav ul li a:hover, nav > div > ul > li.current-menu-item > a, nav > div > ul > li.current-page-ancestor > a{
        color:#b93634; 
    }
    .in-rappel{ margin: 20vh auto 0 auto!important; width: 80%; padding: 3vh 5%; }
    .pop-closerappel{ top: -10vh; right: 0;  }
    nav > div > ul > li:nth-last-of-type(2) > a{ 
        background: #b93634; 
        color: white; 
        text-align: center;
        margin: 1rem 0;
        font-size: 18px;
        line-height: 68px;
        border: 0px;
    }
    nav > div > ul > li:nth-last-of-type(1) > a{ 
        background: transparent; 
        color: #b93634; 
        text-align: center;
        margin: 1rem 0;
        font-size: 18px;
        line-height: 68px;
        border: 1px solid #b93634;
        font-size: 18px;
        transition:  ease-in-out all .15s;
        position: relative;
        font-style: italic;
        font-family: "DM Serif Display", serif;
        text-indent: 20px;
        text-transform: none;
        letter-spacing: normal;
        padding: 0 0 0 10%;
        width: 90%;
     }
    nav > div > ul > li:nth-last-of-type(1) > a::before{
        content: " ";
        width: 66px;
        height: 74px;
        background: transparent url('gfx/rappel-menu.png') no-repeat 0 0;
        position: absolute;
        left: 14px;
        top: -26px;
    }
    .ligne-mot{
        min-height: 10vh;
        width: 80%;
        margin:  2rem 10%;
    }
    .ligne-mot h2{ font-size: 46px; line-height: 46px; }
    .ligne-mot h2::after{ bottom: 0; }
    .ligne-mot p{ display: none; }
    .ligne-mot.active h2 a::before{ display: none; }
    #mot3 h2::after{ left: 10%; right: 0; }
    .swiper-pagination-bullets.swiper-pagination-horizontal, 
    .swiper-pagination-bullets.swiper-pagination-vertical{ bottom: 0; }
    #home .swiper-home::before {
        left: auto;
        right: 0;
        bottom: 0;
        width: 312px;
        height: 60px;
    }
    #home .bandeau{ margin-bottom: 3rem; }
    .bloc{ flex-flow: column-reverse wrap; background-size: 70%; padding-bottom: 140px; background-position: right 97.5% }
    .bloc .spannomargin-8.relative{ width: 65%; margin: 0 0 0 25%; }
    img.blocmini { left: -25%; bottom: -50px; }
    .bloc h2{ margin-left: 0; font-size: 46px; width: 100%; margin-top: 60px; }
    .bloc .spannomargin-10{ width: 80%; margin: 0 10%; }
    .bloc h2::before{
        background-size: 100%;
        width: 50%;
        top: -50px;
        height: 54px;
    }
    .bloc h3 {
        font-size: 18px;
        padding: 3rem 0;
        margin-left: 0;
    }
    .bloc .zone-texte {
        width: 100%;
        margin-left: 0%;
    }
    .bloc a.btn{
        margin: 3rem auto;
    }
    .bigh2{ font-size: 44px; line-height: 52px; }
    .depuis57titre{
        width: 80%;
        margin: 1rem 10% 0 10%;
    }
    .depuis57soustitre h3{
        width: 80%;
        margin-left: 20%;
        text-align: left;
        font-size: 22px;
        margin-top: 0;
    }
    .depuis57titre .trait-gris{ display: none; }
    .depuis57texte{ width: 80%; margin-left: 10%; }
    .depuis57texte .zone-texte{ width: 100%; }
    .depuis57texte a.btn.brd{ margin: 2rem auto; }
    .chiffres-cles{ }
    .chiffres-cles .bigh2{ text-align: center; margin-bottom: 2rem; }
    .chiffres-cles .chiffre-cle{ width: 50%; }
    .chiffre-cle h3 { font-size: 28px; }
    .chiffre-cle h4 { font-size: 18px; }
    .chiffre-cle p {
        font-size: 14px;
        line-height: 20px;
        margin: 0 10% 2rem 10%;
        width: 80%;
    }
    .chiffre-cle img{ max-height: 3rem; }
    #home .realisations{ margin-top: 5rem; padding-bottom: 3rem; }
    .realisations::before, .realisations::after{
        width: 50%;
        left: 10%;
        background-size: 100%;
    }
    .realisations{ width: 90%; padding-left: 10%; padding-right: 0%; }
    .realisations-home .spannomargin-8, .realisations-home .spannomargin-6{ margin: 0; }
    .realisations-home .flex.column-reverse{ flex-flow: column wrap; }
    .realisations .btn.real{ margin: 1rem 5% 3rem 0; width: 85%; }
    .realisations-home .column-reverse .cartouche{ width: 100%; margin-left: 0; }
    .success-titre h2{ text-align: center; }
    .success-titre .trait-rouge { margin: 2rem 0; width: 50%; }
    .footer1 { margin: 3rem 10% 0 10%; width: 80%; }
    .footer1 h2 {
        font-size: 42px;
        line-height: 50px;
        background-size: 75%;
        background: transparent;
        padding-top: 2rem;
    } 
    .footer2{ width: 80%; margin: 0 10%; }
    .footer2 .poprappel{ max-width: 100%; margin-top: 2rem; }
    .footer2 .bt-contact{ margin-top: 2rem; }
    .poprappel{ padding: 0 0 0 10%; width: 90%; }
    .poprappel::before{ left: 12px; }
    .footer3{ margin: 3rem 10% 0 10%; width: 80%; }
    .footer3 img{ margin: 0 auto 1rem auto; max-width: 45%; }
    .footer3 .spannomargin-5{ width: 50%; }
    .footer3 .spannomargin-5:first-of-type{ text-align: center; width: 100%; }
    .footer3 p.slogan{ width: 100%; font-size: 12px; }
    .footer3 p.adresse{ width: 80%; margin-left: 10%; font-size: 13px; }
    .footer3 a.telephone{ margin-left: 10%; font-size: 20px; }
    .footer3 .spannomargin-4.alignright{ padding-left: 50%; }
    .footer3 p.suivez{ margin-top: 1rem; }
    .footer3 p.suivez img{ margin-bottom: 0; }
    .footer4::before{ right: auto; left: 0; width: 50%; top: -5px; }
    .footer4{ margin: 0; padding: 2rem 0; }
    .footer4 p.copyright{ width: 80%; margin: 0 10%; }
    .titrepage h1{ 
        width: 90%; 
        margin: 1rem 5% 0 5%; 
        font-size: 34px;
        line-height: 38px;
        letter-spacing: .15rem;
        text-shadow: 0 0 30px black;
    }
    .bandeau .masque::before{ width: 50%; background-size: 100%; height: 35px; }
    .titrepage { top: 50%; }
    .blocs-page .bloc{ padding: 4rem 0 6rem 0; background-position: right 99.5%; }
    .blocs-page .bloc h2{ margin: 2rem 0; font-size: 22px; line-height: 32px; }
    .blocs-page .bloc .spannomargin-8{ width: 80%; padding: 0; margin: 0 10%; }
    .blocs-page .bloc h3 { font-size: 20px; }
    .bloc.blocnb1 h2::before{ top: -60px; }
    .blocs-page .bloc .zone-texte{ margin-bottom: 3rem; }
    .blocs-page .bloc .spannomargin-8.relative{ width: 65%; margin: 0 0 0 25%; }
    .blocs-page .bloc.reverse .spannomargin-8.relative { width: 65%;  margin: 0 25% 0 0; }
    .blocs-page .bloc.reverse .spannomargin-8{ margin-top: 6rem; }
    .blocs-page .bloc.texteseul{ width: 80%; margin: 2rem 10%; padding-bottom: 0; flex-flow: column wrap; }
    .blocs-page .bloc .zone-texte ul li::before{ width: 10%; background-size: contain; left: -1rem; }
    .blocs-page .bloc .zone-texte ul li{ padding-left: 1.5rem; }
    .bloc-liens-titre{ width: 80%; padding: 0; margin: 0 10%; }
    .bloc-liens-titre h2{ margin: 2rem 0; font-size: 22px; line-height: 32px; }
    .bloc-liens-titre h2::after, 
    .blocs-page .bloc.texteseul h2::before,
    .titre-service h2::before{
        background-size: 100%;
        width: 50%;
        left: 0;
    }
    #page .diaporama .spannomargin-8 .diapo-conteneur img{ width: 50%; }
    #page .diaporama{ margin: 3rem 0 0 0; }
    .real4{ margin-left: -1rem; margin-top: -1rem; margin-bottom: 2rem;}
    .diapo-conteneur{ width: 90%; margin-left: 5%; }
    #page .row.bggrey{ width: 80%; padding: 3rem 10% 3rem 10%; margin: 3rem 0 0 0; }
    .titre-service h4{ margin-top: 0; margin-left: 3rem;}
    .recherche .spannomargin-10{ width: 90%; margin: 1rem 5% 0 5%; }
    span.thematique{ line-height: 3rem; margin: .5rem; font-size: 14px; }
    .recherche .spannomargin-6{ width: 90%; margin: 0 5% 0 5%; }
    select#services{ margin: .5rem 0 1.5rem 0; width: 100%; }
    a.real .cartouche{ opacity: 1; width: 74%; left: 8%; padding: 1rem 5%; }
    a.real{ margin: 2rem auto 0 auto; padding: 0 0 3rem 0;}
    a.real .cartouche .btn.mini{ margin-top: 1rem; }
    .ligneretour{ width: 90%; }
    #single .blocs-page .bloc.texteimage{ margin-top: 0; margin-bottom: 2rem; }
    #single .blocs-page .bloc.texteimage h2::before{ top: -5rem; }
    #single .bigh1{ font-size: 52px; margin-top: 0; }
    #single .blocs-page .bloc.texteimage h2{ margin-top: 3rem; width: 76%; }
    #single .bloc.texteimage .zone-texte{ margin: 3rem 0; padding: 2rem 0 0 0;}
    #single .spannomargin-8 .diapo-conteneur img.real4{ 
        max-width: 100%; 
        margin-left: -25%;
        margin-top: 2rem;
        margin-bottom: -2rem; 
        width: 50%;
    }
    #single .spannomargin-8 .diapo-conteneur img{ width: 75%; margin-top: 2rem; }
    .diapo-conteneur .swiper-pagination-bullets.swiper-pagination-horizontal { bottom: .5rem; }
    .diapo-conteneur .swiper-button-next { right: 1rem; }
    .diapo-conteneur .swiper-button-prev { left: 1rem; }
    .bloc-liens .vignette-lien p{ opacity: 1; font-size: 14px; }
    .page-contact .bloc{
        margin-top: 3rem;
        background-size: 50%;
    }
    .page-contact .bloc h3{ width: 80%; max-width: 80%; margin-left: 10%; padding-top: 0;}
    .page-contact .bloc .poprappel{ width: 70%; margin: 0 auto; max-width: 282px; }
    .page-contact .bloc .telephone.btn{ width: 47%; margin: 0 auto; margin-top: 1rem; max-width: 302px; }
    .page-contact .wpcf7{ width: 80%; margin: 0 10%; }
    .page-contact .bloc .adresse.societe{ margin-top: 8rem; }
    .page-contact .bloc img.blocmini{ bottom: 12rem; }
    .page-contact .realisations.bggrey{ display: none; }
    .page-contact .success-titre{ margin-top: 4rem; }
    .lepliage{ width: 80%; margin: 3rem 10%; }
    .vsavezprojet-btns .poprappel{ margin-top: 3rem; }
    .vsavezprojet-titre, .vsavezprojet-btns{ width: 80%; margin: 0 10%; }
	.bloc-liens{ width: 80%; margin: 1rem 10%; }
	.bloc-liens .vignette-lien h4{ bottom: 10%; }
    .blocs-page .bloc.texteseul .trait-rouge{ margin: 1.5rem 0 .5rem 0; }
    .bloc.texteimage .legende {
        font-size: 14px;
        line-height: 22px;
        margin-top: 1.5rem;
    }
    .blocs-page .bloc.reverse{ background-position: 20% 96.5%; }
    .troisphotos{ margin: 4rem 5% 6rem 5%; width: 90%; }
    .troisphotos .spannomargin-12{ width: 100%; display: flex; }
    .troisphotos .spannomargin-12 > .spannomargin-24, 
    .troisphotos .spannomargin-12 > .spannomargin-16 { width: 50%; }
    .troisphotos .spannomargin-12 > .spannomargin-24 > img{ 
        margin-left: 0px; 
        max-width: calc( 100% ); 
        margin-top: 10px; 
    }
    .troisphotos .spannomargin-12 > .spannomargin-16 > img{  
        margin-left: 10px; 
        max-width: calc( 100% - 10px );
        margin-top: 10px;  
    }

}
/**/
@media (min-width: 768px) and (max-width: 1023px){
    a#logo{ width: 30%; }
    #home .bandeau, #home .swiper-home, .in-mots-home {
        height: 50vw;
    }
    .ligne-mot {
        min-height: 5vw;
        width: 80%;
        margin: 1rem 10%;
    }
    #site-navigation > div > ul > li:last-of-type, 
    #site-navigation > div > ul > li:nth-last-of-type(2){ width: 40%; padding: 0 0 0 10% ; }
    .bloc { flex-flow: row-reverse wrap; background-size: 50%; }
    .bloc .spannomargin-8.relative {
        width: 30%;
        margin: 0 0 0 15%;
    }
    .bloc .spannomargin-10 {
        width: 40%;
        margin: 0 0 0 5%;
    }
    .chiffres-cles .chiffre-cle{ width: 25%; }
    .chiffres-cles .spannomargin-12{ display: none; }
    .chiffres-cles .spannomargin-10{ width: 100%; }
    .realisations-home .spannomargin-9{ width: 40%; }
    .realisations-home .flex.column-reverse{ width: 25%; flex-flow: column-reverse wrap; }
    .realisations {
        width: 90%;
        padding-left: 5%;
        padding-right: 5%;
    }
    .realisations .spannomargin-4{ width: 50%; }
    .realisations-home{ margin-top: 2rem; }
    .realisations-home .spannomargin-6{ margin-top: 8rem; }
    .footer1 .spannomargin-18{ width: 100%; }
    .footer2{ width: 100%; margin: 0; }
    .footer2 .spannomargin-6{ width: 40%; }
    .footer2 .spannomargin-6:first-of-type{ width: 10%; }
    .footer3 .spannomargin-4 { width: 30%; }
    .footer3 .spannomargin-4:first-of-type{ width: 30%; }
    .footer3 img{ max-width: 60%; }
    .blocs-page .bloc .spannomargin-8.relative{ width: 30%; margin: 0 0 0 15%; }
    .blocs-page .bloc .spannomargin-8{ width: 40%; padding: 0; margin: 0; }
    .blocs-page .bloc.reverse .spannomargin-8.relative{ width: 30%; margin: 0 15% 0 0; }
    .blocs-page .bloc.reverse .spannomargin-4{ width: 5%; }
    .blocs-page .bloc{ padding-bottom: 6rem; }
    .blocs-page .bloc.reverse{ flex-flow: row wrap; }
    .blocs-page .bloc.texteseul{ width: 100%; margin: 2rem 0; }
    #page .realisations-home .spannomargin-6{ width: 30%; }
    .page-realisations .listereal{ width: 50%; }
    .diapo-conteneur{ width: 95%; }
    #single .spannomargin-8 .diapo-conteneur img.real4{ margin-left: -30%; }
    .page-contact .bloc .spannomargin-8.relative{ width: 30%; margin: 0 0 0 5%; }
    .page-contact .bloc{ flex-flow: row wrap; }
    .wpcf7 .spannomargin-11{ width: 45%; }
    .page-contact .wpcf7{ width: 100%; margin: 0; }
    .page-contact .bloc .telephone.btn{ padding: 0; width: 100%; margin-top : 0; }
    .page-contact .bloc .poprappel {
        width: 90%;
        margin-left: 0;
        font-size: 12px;
    }
    .poprappel::before{ width: 46px; background-size: 100%; top: -6px; }
    .page-contact .bloc .adresse.societe{ margin-top: 2rem; }
    .page-contact .bloc .telephone { font-size: 18px; }




}
/**/
@media (min-width: 1024px) and (max-width: 1279px) {
    nav ul li a{ font-size: 15px; margin: 0 12px; line-height: 52px; }
    nav ul li ul{ top: 54px; min-width: 225%; }
    nav ul li ul li a { line-height: 32px; font-size: 14px; }
    nav > div > ul > li:nth-child(2) > ul{ min-width: 350%; }
    nav > div > ul > li:nth-child(5) > ul{ min-width: 180%; }
    .bandeau header::before{ bottom: 28px; }
    .bandeau .masque::before{ width: 372px; height: 70px; }
    .titrepage p.bread { font-size: 12px; }
    .titrepage h1 { font-size: 46px; line-height: 46px; }
    .footer1 h2 { font-size: 58px; line-height: 50px; background-size: 40%; padding: 44px 0 0 0; }
    .bt-contact{ line-height: 56px; font-size: 14px; }
    .poprappel, .page-contact .bloc .telephone.btn{ line-height: 54px; font-size: 14px; text-indent: 50px; }
    .poprappel::before{ left: 6px; }
    .footer1{ margin-top: 80px; }
    .footer3 p.slogan { font-size: 13px; width: 90%; margin-top: 1.75rem; }
    .footer3 p.adresse{ font-size: 13px; margin-top: 1.75rem; }
    .footer3 a.telephone { font-size: 18px; }
    .footer3 p.suivez { font-size: 12px; margin-top: 4.5rem; }
    .footer3 { margin-top: 80px; }
    .footer4 { margin-top: 40px; padding: 40px 0; }
    .footer4 p.copyright { font-size: 12px; }
    .pop-rappel input[type="tel"], .pop-rappel input[type="submit"], 
    .pop-rappel input[type="tel"]::placeholder, 
    .pop-rappel input[type="text"], .pop-rappel input[type="text"]::placeholder{ font-size: 14px; }
    .in-rappel{ background-position: 62% .2rem; }
    .footer3 img{ max-width: 80%; }
    .ligne-mot h2::after{ bottom: 2px; }
    #home .swiper-home::before{ background-size: contain; width: 240px; height: 44px; }
    .bloc h2, .bigh2{ font-size: 64px; line-height: 78px; }
    .bloc h3 { font-size: 20px; padding: 2rem 0; }
    .zone-texte p { font-size: 14px; line-height: 18px; }
    a.btn {
        font-size: 10px;
        line-height: 38px;
        padding: 0 42px;
    }
    .bloc{ background-size: 50%; padding-bottom: 120px; }
    #home h2.slogan { margin: 60px auto; font-size: 24px; }
    .bloc h2::before{ background-size: contain; width: 165px; }
    .depuis57titre { margin: 40px 0 0 0; }
    .depuis57soustitre h3 { font-size: 20px; }
    .realisations{ padding: 40px 0 40px 0;  margin: 120px 0 110px 0; }
    .realisations p.red{ font-size: 14px; }
    .realisations-home .cartouche h3 { font-size: 14px; }
    .realisations-home .cartouche p { font-size: 12px; }
    .btn.mini {
        line-height: 26px;
        padding: 0 32px;
        font-size: 9px;
    }
    .realisations::before, .realisations::after{ background-size: contain; width: 165px; }
    .realisations::before{ top: -20px; }
    .success-titre .trait-rouge { margin: 40px auto; }
    .page-contact .bloc{ 
        background-size: 150px;
        background-position: 60% top;
        padding-top: 50px;
    }
    .bloc .wpcf7 p, .bloc .wpcf7 input[type="text"], .bloc .wpcf7 input[type="email"], 
    .bloc .wpcf7 input[type="tel"], .bloc .wpcf7 select, .bloc .wpcf7 textarea, 
    .bloc .wpcf7 input[type="text"]::placeholder, .bloc .wpcf7 input[type="email"]::placeholder, 
    .bloc .wpcf7 input[type="tel"]::placeholder, .bloc .wpcf7 textarea::placeholder, 
    .bloc .wpcf7 .wpcf7-list-item-label{
        font-size: 16px;
    }
    .bloc .wpcf7 input[type="submit"]{ font-size: 14px; line-height: 60px; }
    .page-contact .realisations { margin-top: 120px;  }
    .page-contact .bloc .adresse.societe, 
    .page-contact .bloc .adresse{ font-size: 14px; }
    .page-contact .bloc .telephone{ font-size: 22px; }
    .blocs-page .bloc h2 {
        font-size: 22px;
        line-height: 30px;
        margin: 40px 0 30px 0;
    }
    .blocs-page .bloc h2::before{ top: -100px; }
    .bloc.blocnb1 h2::before{ top: -120px; }
    .blocs-page .bloc h3{ font-size: 18px; margin: 1rem 0; }
    .blocs-page .bloc h4{ font-size: 16px; margin: 1rem 0; }
    .blocs-page .bloc {
        padding: 60px 0 120px 0;
        /*margin: 80px 0 0 0;*/
        margin: 0 0 0 0;
    }
    .blocs-page .bloc.texteseul h2{
        padding: 40px 0 20px 0;
        margin: 20px 0 0px 0;
    }
    .blocs-page .bloc.texteseul h2::before{ background-size: contain; width: 95px; top: 0px; }
    .blocs-page .bloc.texteseul { padding: 0 0 20px 0; margin: 0px 0 0 0; }
    .blocs-page .bloc.texteseul .trait-rouge { margin: 60px 0 40px 0; }
    .bloc-liens-titre h2 { font-size: 22px; padding: 50px 0 0 0; }
    .bloc-liens-titre h2::after{ background-size: contain; width: 120px; left: -60px; }
    .bloc-liens .vignette-lien h4{ font-size: 14px; }
    .bloc-liens .vignette-lien p{ font-size: 12px; }
    span.thematique{ font-size: 12px; line-height: 60px; }
    select#services{ font-size: 12px; }
    a.real { margin: 80px auto 0 auto; padding: 0 0 70px 0; }
    a.real .cartouche h3, a.real .cartouche p { font-size: 12px; }
    a.real .cartouche .btn.mini{ margin-top: 20px; }
    #single .bigh1 {
        font-size: 68px;
        line-height: 68px;
        margin: 2rem 0 -70px 0%;
    }
    #single .blocs-page .bloc.texteimage h2{ font-size: 20px; }
    #single .blocs-page .bloc.texteimage h2::before{ top: -100px; }
    p.caracz{ font-size: 12px;  }
    p.caracz span{ font-size: 14px; }
    #single .blocs-page .bloc.texteimage {
        margin-top: 1rem;
        margin-bottom: 60px;
    }
    .ligneretour { margin-top: 2rem; }
    .bloc.texteimage .legende{ font-size: 12px; line-height: 22px; margin-top: 1rem; }
    .zone-texte ul li{ font-size: 14px; line-height: 18px; }
    .titre-service h4{ font-size: 20px; margin: -1.5rem 0 0 20%; }
    .titre-service h2::before{
        background-size: contain;
        width: 165px;
        top: -80px;
    }
    .page-pliage .bggrey{ margin: 60px 0 0 0; padding: 40px 0 60px 0; }
    .pliage-images p {
        font-size: 16px;
        line-height: 20px;
        padding: 1rem 0;
    }
    .pliage-images { margin: 2rem 0; }
    .page-pliage.particuliers.landing main .wpcf7 p.medium{ font-size: 12px; }
    .page-pliage.particuliers.landing main .wpcf7 .poprappel{ font-size: 12px; padding-left: 8%; }
    .page-pliage.particuliers.landing main .wpcf7{ padding: 1rem 1rem 0 1rem; margin-top: -180px; }
    .page-pliage.particuliers.landing main .wpcf7 p.medium:nth-of-type(2){ font-size: 12px; }
    .page-pliage.particuliers.landing main .wpcf7 input[type="text"], 
    .page-pliage.particuliers.landing main .wpcf7 input[type="email"], 
    .page-pliage.particuliers.landing main .wpcf7 input[type="tel"]{ padding: .25rem 1.5rem; line-height: 32px; }
    .page-pliage.particuliers.landing main .wpcf7 .wpcf7-list-item-label, 
    .page-pliage.particuliers.landing main .wpcf7 p{ font-size: 12px; }
    .bandeau .soustitre{ font-size: 24px; }
    .page-pliage.particuliers.landing main .vsavezprojet-titre h2{ font-size: 22px; }
    #page .realisations-home .spannomargin-6{ margin-top: 60px; }
    #page .row.bggrey{ padding: 3rem 0 3rem 0; }
    .chiffre-cle img{ max-width: 30%; max-height: 4rem; }
    .chiffre-cle h3{ font-size: 34px; margin-top: 1rem; }
    .chiffre-cle h4{ font-size: 18px; }
    .chiffre-cle p{ font-size: 12px; line-height: 20px; margin: 0 17.5%; width: 65%; }
    #home .realisations{ margin-top: 80px; }
    .chiffres-cles .chiffre-cle.num2, 
    .chiffres-cles .chiffre-cle.num4{ margin-top: 0px; }
    .troisphotos{ margin: 80px 0 100px 0; }


}
/**/
@media (min-width: 1280px) and (max-width: 1479px){
    nav ul li a{ font-size: 17px; margin: 0 14px; line-height: 52px; }
    nav ul li ul{ top: 54px; min-width: 225%; }
    nav ul li ul li a { line-height: 32px; font-size: 14px; }
    nav > div > ul > li:nth-child(2) > ul{ min-width: 330%; }
    nav > div > ul > li:nth-child(5) > ul{ min-width: 180%; }
    .bandeau header::before{ bottom: 28px; }
    .bandeau .masque::before{ width: 372px; height: 70px; }
    .titrepage p.bread { font-size: 14px; }
    .titrepage h1 { font-size: 54px; line-height: 54px; }
    .footer1 h2 { font-size: 68px; line-height: 60px; background-size: 40%; padding: 44px 0 0 0; }
    .bt-contact{ line-height: 66px; font-size: 16px; }
    .poprappel,  .page-contact .bloc .telephone.btn{ line-height: 64px; font-size: 16px; text-indent: 50px; }
    .poprappel::before{ left: 12px; }
    .footer1 { margin: 90px 0 0 0; }
    .footer3 { margin-top: 90px; }
    .footer4 { margin-top: 50px; padding: 50px 0; }
    .footer3 p.slogan { font-size: 14px; width: 90%; margin-top: 1.75rem; }
    .footer3 p.adresse{ font-size: 14px; margin-top: 1.75rem; } 
    .footer3 p.suivez{ margin-top: 4.75rem; }
    .in-rappel{ background-position: 48% .2rem; }
    .footer3 img{ max-width: 80%; }
    .ligne-mot h2::after{ bottom: .2rem; }
    #home .swiper-home::before{ background-size: contain; width: 300px; height: 54px; }
    .bloc h2, .bigh2{ font-size: 74px; line-height: 84px; }
    .bloc h3 { font-size: 22px; padding: 2rem 0; }
    .zone-texte p { font-size: 16px; line-height: 22px; }
    a.btn {
        font-size: 12px;
        line-height: 44px;
        padding: 0 48px;
    }
    .bloc{ background-size: 50%; padding-bottom: 140px; }
    #home h2.slogan { margin: 60px auto; font-size: 28px; }
    .bloc h2::before{ background-size: contain; width: 165px; }
    .depuis57titre { margin: 40px 0 0 0; }
    .depuis57soustitre h3 { font-size: 22px; }
    .realisations{ padding: 40px 0 40px 0;  margin: 120px 0 110px 0; }
    .realisations p.red{ font-size: 16px; }
    .realisations-home .cartouche h3 { font-size: 15px; }
    .realisations-home .cartouche p { font-size: 13px; }
    .btn.mini {
        line-height: 30px;
        padding: 0 36px;
        font-size: 10px;
    }
    .realisations::before, .realisations::after{ background-size: contain; width: 165px; }
    .realisations::before{ top: -20px; }
    .success-titre .trait-rouge { margin: 40px auto; }
    .page-contact .bloc{ 
        background-size: 150px;
        background-position: 58% top;
        padding-top: 50px;
    }
    .bloc .wpcf7 p, .bloc .wpcf7 input[type="text"], .bloc .wpcf7 input[type="email"], 
    .bloc .wpcf7 input[type="tel"], .bloc .wpcf7 select, .bloc .wpcf7 textarea, 
    .bloc .wpcf7 input[type="text"]::placeholder, .bloc .wpcf7 input[type="email"]::placeholder, 
    .bloc .wpcf7 input[type="tel"]::placeholder, .bloc .wpcf7 textarea::placeholder, 
    .bloc .wpcf7 .wpcf7-list-item-label{ font-size: 16px; }
    .bloc .wpcf7 input[type="submit"]{ font-size: 14px; line-height: 60px; }
    .page-contact .realisations { margin-top: 120px;  }
    .page-contact .bloc .adresse.societe, 
    .page-contact .bloc .adresse{ font-size: 16px; }
    .page-contact .bloc .telephone{ font-size: 24px; }
   .blocs-page .bloc h2 {
        font-size: 24px;
        line-height: 34px;
        margin: 40px 0 30px 0;
    }
    .blocs-page .bloc h2::before{ top: -124px; }
    .blocs-page .bloc h3{ font-size: 20px; margin: 1.5rem 0; }
    .blocs-page .bloc h4{ font-size: 18px; margin: 1.5rem 0; }
    .blocs-page .bloc {
        padding: 60px 0 120px 0;
        margin: 80px 0 0 0;
        margin: 0 0 0 0;
    }
    .blocs-page .bloc.texteseul h2{
        padding: 30px 0 30px 0;
        margin: 20px 0 0px 0;
    }
    .blocs-page .bloc.texteseul h2::before{ background-size: contain; width: 95px; }
    .blocs-page .bloc.texteseul { padding: 0 0 20px 0;  margin: 0px 0 0 0; }
    .blocs-page .bloc.texteseul .trait-rouge { margin: 60px 0 40px 0; }
    .bloc-liens-titre h2 { font-size: 24px; padding: 50px 0 0 0; }
    .bloc-liens-titre h2::after{ background-size: contain; width: 120px; left: -60px; }
    .bloc-liens .vignette-lien h4{ font-size: 16px; }
    .bloc-liens .vignette-lien p{ font-size: 14px; }
    span.thematique{ font-size: 14px; line-height: 70px; }
    select#services{ font-size: 14px; }
    a.real { margin: 80px auto 0 auto; padding: 0 0 70px 0; }
    a.real .cartouche h3, a.real .cartouche p { font-size: 14px; }
    a.real .cartouche .btn.mini{ margin-top: 20px; }
    #single .bigh1 {
        font-size: 78px;
        line-height: 78px;
        margin: 2rem 0 -70px 0%;
    }
    #single .blocs-page .bloc.texteimage h2{ font-size: 20px; }
    #single .blocs-page .bloc.texteimage h2::before{ top: -100px; }
    p.caracz{ font-size: 13px;  }
    p.caracz span{ font-size: 15px; }
    #single .blocs-page .bloc.texteimage {
        margin-top: 1rem;
        margin-bottom: 60px;
    }
    .ligneretour { margin-top: 2rem; }
    .bloc.texteimage .legende{ font-size: 14px; line-height: 26px; }
    .zone-texte ul li{ font-size: 16px; line-height: 22px; }
    .titre-service h4{ font-size: 20px; margin: -1.5rem 0 0 20%; }
    .titre-service h2::before{
        background-size: contain;
        width: 165px;
        top: -80px;
    }
    .page-pliage .bggrey{ margin: 60px 0 0 0; padding: 40px 0 60px 0; }
    .pliage-images p {
        font-size: 18px;
        line-height: 22px;
        padding: 1.5rem 0;
    }
    .page-pliage.particuliers.landing main .wpcf7 p.medium{ font-size: 14px; }
    .page-pliage.particuliers.landing main .wpcf7 .poprappel{ font-size: 14px; padding-left: 8%; }
    .page-pliage.particuliers.landing main .wpcf7{ padding: 1rem 1rem 0 1rem; margin-top: -180px; }
    .page-pliage.particuliers.landing main .wpcf7 p.medium:nth-of-type(2){ font-size: 14px; }
    .page-pliage.particuliers.landing main .wpcf7 input[type="text"], 
    .page-pliage.particuliers.landing main .wpcf7 input[type="email"], 
    .page-pliage.particuliers.landing main .wpcf7 input[type="tel"]{ padding: .25rem 1.5rem; line-height: 36px; }
    .page-pliage.particuliers.landing main .wpcf7 .wpcf7-list-item-label, 
    .page-pliage.particuliers.landing main .wpcf7 p{ font-size: 14px; }
    .bandeau .soustitre{ font-size: 24px; }
    .page-pliage.particuliers.landing main .vsavezprojet-titre h2{ font-size: 24px; }
    .chiffre-cle img{ max-width: 30%; max-height: 4rem; }
    .chiffre-cle h3{ font-size: 34px; margin-top: 1rem; }
    .chiffre-cle h4{ font-size: 18px; }
    .chiffre-cle p{ font-size: 14px; line-height: 20px; margin: 0 17.5%; width: 65%; }
    #home .realisations{ margin-top: 80px; }
    .chiffres-cles .chiffre-cle.num2, 
    .chiffres-cles .chiffre-cle.num4{ margin-top: 0px; }
    .troisphotos{ margin: 80px 0 100px 0; }

}
/**/
@media (min-width: 1480px) and (max-width: 1599px){
        .titrepage h1 { font-size: 72px; line-height: 72px; }

}
/**/
@media (min-width: 1600px) and (max-width: 1799px){
        .titrepage h1 { font-size: 80px; line-height: 80px; }
}
/**/
@media (min-width: 1800px){

}
/**/
@media (min-width: 1900px){
    .ligne-mot h2{
        font-size: 90px;
        line-height: 90px;
    }
    .ligne-mot p {
        font-size: 16px;
        line-height: 20px;
        margin: 1rem 0 2rem 0;
    }


}
.grecaptcha-badge{ display: none!important; visibility:hidden!important; }



/**/