@font-face {
  font-family: 'OutfitLight';
  src: url('../fonts/OutfitLight.eot');
  src: url('../fonts/OutfitLight.eot') format('embedded-opentype'),
    url('../fonts/OutfitLight.woff2') format('woff2'),
    url('../fonts/OutfitLight.woff') format('woff'),
    url('../fonts/OutfitLight.ttf') format('truetype'),
    url('../fonts/OutfitLight.html#OutfitLight') format('svg');
}
@font-face {
  font-family: 'jostregular';
  src: url('../fonts/jost-400-book-webfont.woff2') format('woff2'),
    url('../fonts/jost-400-book-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'jostsemi';
  src: url('../fonts/jost-600-semi-webfont.woff2') format('woff2'),
    url('../fonts/jost-600-semi-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'jostbold';
  src: url('../fonts/jost-700-bold-webfont.woff2') format('woff2'),
    url('../fonts/jost-700-bold-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;

}
@font-face {
  font-family: 'Jost300Light';
  src: url('../fonts/Jost300Light.eot');
  src: url('../fonts/Jost300Light.eot') format('embedded-opentype'),
    url('../fonts/Jost300Light.woff2') format('woff2'),
    url('../fonts/Jost300Light.woff') format('woff'),
    url('../fonts/Jost300Light.ttf') format('truetype'),
    url('../fonts/Jost300Light.svg#Jost300Light') format('svg');
}

/*--------------------------------------------------
# Fonts
--------------------------------------------------*/


:root {
  --main-color: #A0DCBA;
  --second-color: #C38E67;
  --third-color: #89948d;
  --fourth-color: #182825;
  --dark-color: #232b27;
  --main-bg-color: #A0DCBA80;
}



/*--------------------------------------------------
# General
--------------------------------------------------*/
body {background: #ffffff;color: var(--fourth-color);font-family: 'OutfitLight';font-size: 16px;line-height: 1.5em;}
a {
  color: var(--second-color);
  text-decoration: underline;
  transition: all .4s;
  text-shadow:none;
}
a:active, a:hover, a:focus {
  color: var(--second-color);
  text-decoration: none;
}

.image-right {
  float: right;
  margin: 0 0 10px 20px;
}
.image-left {
  float: left;
  margin: 0 20px 10px 0;
}
.container{  width: 1330px!important;
  position: relative;}
h1, h2, h3, h4, h5, h6 {line-height: 32px;/* text-transform:uppercase; *//* font-family: 'jostsemi'; *//* letter-spacing: 3px; */text-shadow: none;/* font-weight: bold; */padding-bottom: 10px;}
h1 {
  font-size: 42px;
  color:var(--fourth-color);
  /* font-weight: 900; */
}
h2 {
  font-size: 24px;
  line-height: 29px;
  color: var(--second-color);
}
h3 {
  font-size: 19px;
  color:var(--fourth-color);
}
h4 {
  font-size: 18px;
  color:var(--second-color);
}
h5 {
  font-size: 17px;
  color:var(--fourth-color);
}
h6 {
  font-size: 16px;
  color:var(--second-color);
}
hr {
  border-color: #666;
}

nav.main-nav {position: absolute;z-index: 100;transition: background .4s, box-shadow .4s;height: 103px;width: 100%;background: #ffffffdb;}
nav.main-nav .container{pointer-events: none;}

div#sticky-wrapper {
  position: absolute;
  left: 0;
  width: 100%;
  top: 0;
  z-index: 100;
}
.pageTemplate  div#sticky-wrapper {    position: absolute;  height: auto !important;}

.is-sticky nav.main-nav {position: absolute;z-index: 100;transition: background .4s, box-shadow .4s;padding: 0px 0 0;height: 103px;background: #f7f7f7;width: 100%;}
.is-sticky nav.main-nav  .logo img {}
.pageTemplate div#sticky-wrapper nav.main-nav {}

nav.main-nav .nav-wrapper {
  pointer-events: none;
  display: block;
  justify-content: space-between;
  align-items: inherit;
  flex-wrap: inherit;
  text-align: center;
  pointer-events: none;
}

nav.main-nav .nav-wrapper .nav-bar1 ul {
  pointer-events: auto;
  margin-top: 33px;
}
.is-sticky nav.main-nav .nav-bar1 ul { margin-top: 33px;}
nav.main-nav .mobile-nav {
  display: none;
  text-align: center;
  align-self: center;pointer-events: auto;
}

nav.main-nav .mobile-nav a {
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  color: #222;
  line-height: 40px;
  font-size: 24px;
}
nav.main-nav .mobile-nav i.fa {
  background: var(--second-color);
  text-align: center;
  color: #fff;
  width: 40px;
  line-height: 40px;
  border-radius: 50%;
  display: inline-block;
}


/***************/
header.top {
  position: relative;
  height:auto;
  position: relative;
  height:904px;
  margin-top:0px;





}

header.top.small {
  position: relative;
  height:auto;
  position: relative;
  height:850px;
  margin-top:0px;


}
header.top.small header.page-title {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
}
header.top.small header.page-title h1 {
  margin: 0;
  position: relative;

}

header.top .big {


}
header.top .banner {
  position: absolute;
  width:100%;
  height: 100%;

  left:0px;
  top: 0px;

}
header.top .banner:before{
  position: absolute;
  left: 0px;
  top: 0px;
  height: 100%;
  bottom: 0px;
  content: '';
  /* background: url(../images/bg-slide.png) bottom center no-repeat rgba(33,16,3,0.33); */
  pointer-events: none;
  z-index: 2;
  width: 100%;
}
header.top .banner  #slideshow {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin-bottom:0px!important;
}
header.top .banner .diy-slideshow{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.diy-slideshow figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

header.top .container {
  position: relative!important;
  height: 100%;
  top: 0px;
} 
.logo {
  position: absolute;
  top: 185px;
  left:0px;
  right:0px;
  margin:0 auto;
  width:362px;
  text-align: center;
  pointer-events: auto;
  z-index: 2;
}

header.top .slogan {    margin-top: 20px;position: absolute;text-align: center;width: 100%;top: 66%;float: left;z-index: 10;}  header.top.small .slogan { top: 59%;}

header.top .slogan h2{       margin-bottom: 10px;
  color: #fff;
  font-size: 26px;
  line-height: 45px;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0em;
  text-shadow: 0px 0px 7px rgb(0 0 0 / 35%), 0px 0px 7px rgb(0 0 0 / 35%);}

header.top .slogan h6{         margin-bottom: 0;
  color: #fff;
  font-family: 'Jost300Light';
  font-size: 26px;
  position: relative;
  text-transform: none;
  letter-spacing: 0em;
  margin-top: 0px;
  line-height: 26px;
  text-shadow: 0px 0px 7px rgb(0 0 0 / 35%), 0px 0px 7px rgb(0 0 0 / 35%);
}

.cta1{}
header.top .slogan a{ text-decoration:none;color:#fff;}
header.top .slogan .bouton{display: inline-block;height: 55px;line-height: 55px;text-align: center;color: #303030;font-size: 20px;font-family: 'Jost300Light';border-radius: 28px;background: #fff;width: 259px;letter-spacing: 0.1em;/* box-shadow: 0px 0px 24px rgb(0 0 0 / 35%), 0px 0px 24px rgb(0 0 0 / 35%); */}
header.top .slogan .bouton:hover{background: var(--third-color);color: #ffffff;}


/******* animation *************/
.animate.clip_ltr {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 800ms ease-out;
}
.animate.clip_rtl {
  clip-path: inset(0 0 0 100%);
  transition: clip-path 800ms ease-out;
}
.animate.clip_ttb {
  clip-path: inset(0 0 100% 0);
  transition: clip-path 800ms ease-out;
}
.animate.fade_in {
  opacity: 0;
  transition: opacity 800ms ease-out;
  transition-delay: 0ms;
}
.animate.fade_in.play {
  opacity: 1;
}
.animate.delay-250 {
  transition-delay: 250ms;
}
.animate.delay-500 {
  transition-delay: 500ms;
}
.animate.clip_ttb.play {
  clip-path: inset(-1px -1px -1px -1px);
}
.animate.clip_ltr.play {
  clip-path: inset(-1px -1px -1px -1px);
}
.animate.clip_rtl.play {
  clip-path: inset(-1px -1px -1px -1px);
}
/********/
.box-light {
  background: #ededed;
  color: #414244;
  padding: 15px;
  margin: 0 0 20px;
}
.box-light img{ width:100%;}
.col-md-8.col-md-push-4 h3 {
  margin-top: 0;
}
article.content img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
/************ Content ***************/
.container-fluid {

}
.contenu-h {
  float: left;
  width: 100%;
}


section.home-content {
  position: relative;
  float: left;
  width: 100%;
  padding:0px 0px 55px;    z-index: 3;


}

section.page-content {
  position: relative;
  padding:0px 0px 55px;    z-index: 3;
}


.moretext {
  display: none;
  top: 20px;
}
a.moreless-button {
  width: 165px;
  height: 55px;
  line-height: 54px;
  background: #fff;
  border-radius: 28px;
  box-shadow: 0px 0px 16px rgb(0 0 0 / 14%);
  text-align: center;
  color: var(--fourth-color);
  font-size: 18px;
  letter-spacing: 0.06em;
  display: block;
  position: relative;
  text-decoration: none;
  position: relative;
  margin: 0 auto;
  margin-top: 65px;
  text-transform: none;
  cursor: pointer;
  text-align: center;
  /* padding-left: 23px; */

  text-shadow;: 0px 0px 0px #000;

}
a.moreless-button:hover{color:#fff; background:var(--second-color);}

a.moreless-button:before{
  position: absolute;
  top: 15px;
  right: 14px;
  /* content: ''; */
  width: 26px;
  height: 13px;
  background: url(../images/fleche.png) no-repeat;
}

article.content {
  padding: 0px 0px 0px;
  letter-spacing: 0.06em;
  position: relative;
  line-height: 28px;
  text-shadow: 0px 0px 0px var(--fourth-color);
}

section.home-content article.content {
  padding: 0px 0px 0px;
  letter-spacing: 0.06em;
  position:relative;
  line-height: 30px;
  text-shadow: 0px 0px 0px var(--fourth-color);
}
article.content header.page-title {

  position: relative;
  margin: 0 0 35px;
}

article.content header.page-title h1 {margin: 0;position: relative;text-align: center;padding-top: 75px;/* background:url(../images/bg-h.png) top center no-repeat; */text-align: center;margin-top: -50px;}

section.home-content article.content header.page-title h1 {
  margin: 0;
  position:relative;
  padding-top: 5px;
  /* background:url(../images/bg-h.png) top center no-repeat; */
  text-align: center;
  margin-top: 80px;
}


span.subtitle {
  font-size: 31px;
  letter-spacing:0.16em;
  color: var(--second-color);
  text-transform: none;
  display: block;
  margin-top: 0px;
  line-height: 40px;
  font-family: 'Jost300Light';
}
section.home-content article.content header.page-title {
  margin: 0 0 40px;
  position: relative;
}
article.content header.page-title + h2 {
  margin-top: 0;
  margin-bottom: 30px;
}
article.content p {
  margin: 0 0 20px;
}
article.content ul {
  list-style: outside disc;
  margin-left: 0;
  padding: 0;
}
article.content ul li {
  list-style: none;
  background: url(../images/list-icon01.png) no-repeat 0 7px;
  padding-left: 30px;
}
article.content ul ul {
  list-style-type: circle;
}
article.content .table-style {
  position: relative;
}
article.content .table-style th {
  background: #f2f2f2;
}
article.content .table-style th,
article.content .table-style td {
  border: 1px solid #ccc;
  padding: 2px 5px;
}

/* table horaire */
table#horaire td { padding: 4px;}
@media only screen and (max-width : 480px) {
    table#horaire {overflow-x:scroll;width:100%;display: block;}
    table#horaire td { padding: 3px; line-height:110%;min-width:115px;}
    table#horaire td:first-child { padding: 2px; font-size:1.2rem; letter-spacing:1px; max-width:73px; min-width: 70px;}
}

/******** prestations ************/

section.boxes {
  position: relative;
  padding: 105px 0 50px;
  background: url(../images/bg-service.jpg) top center no-repeat;
  z-index: 3;
  text-align: center;
  width: 100%;
  float: left;
  background-size: cover;
  min-height: 746px; 

}

section.boxes h2 {
  font-size: 36px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #1a1918;
  margin: 0;
  position: relative;
  margin-bottom: 70px;
  padding-top:55px;
  background:url(../images/bg-h-s.png) top center no-repeat;


  text-align: center;

}


section.boxes a{ text-decoration:none; }
section.boxes a:hover{ text-decoration:none; }
section.boxes .boxes-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 80px;
  margin-top: 0px;
  padding: 0px 0px;}
section.boxes .boxes-grid .box {  position: relative;  transition: all .4s;}

section.boxes .boxes-grid .box .img{ position:relative; width:100%;  margin:0 auto; box-shadow:0px 0px24px rgba(0,0,0,0.2); border-radius:10px; }
section.boxes .boxes-grid .box .img img{  width: 100% !important;    height: auto;border-radius:10px;
    max-width: 380px;
    max-height: 305px;
    object-fit: cover;
}

section.boxes h3 {
  font-size: 21px;
  color: #000000;
  letter-spacing: 0em;
  position: relative;
  margin: 0;
  margin-bottom: 0px;
  float: left;
  margin-top: 22px;
  transition: all .4s;
  text-transform: uppercase;
  text-align: left;
  line-height: 25px;

}

section.boxes .boxes-grid .box .plus{    width: 35px;
  height: 35px;
  text-transform: none;
  text-decoration: none;
  letter-spacing: 0.06em;
  text-shadow: none;
  color: var(--fourth-color);
  text-shadow: 0px 0px 0px #000;
  background: var(--third-color);
  border-radius: 5px;
  position: relative;
  float: right;
  margin-top: 25px;
  font-size: 0px;
  transition: width .4s;
  text-align: left;
  line-height: 35px;}
section.boxes .boxes-grid .box:hover  .plus{  font-size:15px; width:116px; padding-left:10px; }
section.boxes .boxes-grid .box .plus:before{ position:absolute; top:11px; right:6px; content:''; width:26px; height:13px; background:url(../images/fleche.png) no-repeat;}

@keyframes preloader {
  100% { transform: scale(0.75); }
}



/*********** box etapes *************/
section.etapes {
  padding: 39px 0px 60px;
  position: relative;
  width: 100%;
  float: left;
  min-height: 344px;
  background: #ffffff;
}
section.etapes .projects-grid {
  display: flex;
  justify-content: space-around;
  align-items: top;
  flex-wrap: wrap;
  position: relative;
  z-index: 3;
}
section.etapes .projects-grid .bx{ position:relative; text-align:center; min-width:165px;}
section.etapes .projects-grid .bx h3{ position:relative; font-family: 'jostregular'; letter-spacing:0.08em; padding-bottom:151px; margin:0px 0px;font-size: 41px;}

section.etapes .projects-grid .bx1 h3{ background:url(../images/icon1.png) bottom center no-repeat; color:#111111;}
section.etapes .projects-grid .bx2 h3{ background:url(../images/icon2.png) bottom center no-repeat; color:#b5d24b; transition:all .4s;}
section.etapes .projects-grid .bx3 h3{ background:url(../images/icon3.png) bottom center no-repeat; color:#fa3432; transition:all .4s;}
section.etapes .projects-grid .bx4 h3{ background:url(../images/icon4.png) bottom center no-repeat; color:#e49f00;transition:all .4s;}
section.etapes .projects-grid .bx5 h3{  background:url(../images/icon5.png) bottom center no-repeat; color:#ffffff; transition:all .4s;}



section.photo-spacer{position:relative;height:285px}
section.photo-spacer img{width:100%;height:100%;object-fit:cover}

/********* News ***************/

section.boxes-gall{
  position: relative;
  text-align: center;
  padding: 65px 0% 20px;
  float: left;
  width: 100%;
  background:url(../images/bg-gall.jpg) top center no-repeat;
  min-height: 370px;
  background-size: cover;
  text-align: left;

}
section.boxes-gall:before{ position:absolute; left:0px; width:100%; top:0px; height:100%; content:'';  background:url(../images/bg-gall.jpg) top center no-repeat; display:none;}

section.boxes-gall  a{ text-decoration: none;color:#fff;

}
section.boxes-gall a:hover{ text-decoration:none; }
section.boxes-gall .box1{ }
section.boxes-gall .box-gall{
  position: relative;
  z-index: 2;
  /* text-shadow: 0px 0px 0px #fff; */
  font-size: 15px;
  letter-spacing: 0.06em;
  color: #fff;
  pointer-events: all;
  align-items: center;
  transition: transform .4s, opacity .4s;
  position: relative;
  width: auto;
  display: inline-block;
  max-width: 600px;
  float:right;

}
section.boxes-gall .box-gall h2{
  position:relative;
  letter-spacing:0.08em;
  color:#fff;
  font-size:27px;
  text-transform:uppercase;
  margin:0px 0 25px;
  padding-bottom:15px;
  border-bottom:1px solid #fff;}

section.boxes-gall  .box-gall .plus{width: 145px;
  height: 45px;
  line-height: 45px;
  background: #fff;
  border-radius: 28px;
  box-shadow: 0px 0px 29px rgb(0 0 0 / 20%);
  text-align: center;
  color: var(--fourth-color);
  font-size: 15px;
  letter-spacing: 0.06em;
  display: block;
  position: relative;
  text-decoration: none;
  position: relative;
  margin-top: 25px;
  text-transform: none;
  text-align: left;
  padding-left: 20px;
  text-shadow: 0px 0px 0px #000;}
section.boxes-gall .box-gall:hover .plus{color:#fff; background:var(--third-color);}

section.boxes-gall .box-gall .plus:before{ position: absolute;
  top: 15px;
  right: 23px;
  content: '';
  width: 26px;
  height: 13px;
  background: url(../images/fleche.png) no-repeat;}



/********* News ***************/
div#NewsItems .NewsItem.box {
  position: relative;
  width: 100%;
  padding: 15px;
  margin: 10px auto;
  background: #ededed;
}
div#NewsItems .photo-news {
  max-width: 220px!important;
  float: right;
  margin: 0 0px 15px 25px;
  height: 100%;
}
div#NewsItems .photo-news img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.NewsItem .date {
  font-size: 100%;
  font-weight: 700;
  color: #000f3c;
}
div#NewsItems a.readmore {
  font-size: 15px;
  line-height: 1;
  text-shadow: none;
  padding: 13px 20px;
  display: inline-block;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  background: #ff5e14;
  text-transform: uppercase;
  box-shadow: none;
  transition: box-shadow .4s;
  margin: 0px 0 0;
  border-radius: 30px;
  background: linear-gradient(to top, #ff5e14 0%, #ff5e14 50%, #000f3c 50%, #000f3c 100%);
  background-size: 100% 200%;
  background-position: 0 100%;
  transition: background 400ms ease-in-out;
}
div#NewsItems a.readmore:hover {
  color: #fff;
  background-position: 0 0;
}
img.img-responsive.img-news {
  float: right;
  max-width: 250px;
  margin: 0 0 20px 30px;
}
.box-light {
  background: var(--second-color);
  color: #ffffff;
  padding: 20px 17px 50px;
  margin: 0 40px 0px;
}
.box-light a:hover{color:var(--third-color);}
.col-md-8.col-md-push-4 h3 {
  margin-top: 0;
}
.vCard .box-light h5 {
  margin: 0 0 3px;
  color: #ffffff;
  font-size: 20px;
  line-height: 29px;
}
.vCard .box-light {
  margin-top: 11px;
}
/*********** photo-spacer ****************/


/************ footer ******************/
footer.bottom {color: #fff;padding: 125px 0px 30px;font-size: 18px;/* letter-spacing: 0.1em; *//* min-height: 290px; */background:url(../images/bg-footer.jpg);background-size:cover;position: relative;width: 100%;height: 100%;float: left;line-height: 30px;overflow: hidden;}
footer.bottom img{
  /* max-width: 100%; */
  margin: 0 auto;
  text-align: center;
  width: 30%;
  /* left: 40%; */
  position: relative;
  margin: 0 auto;
}
footer.bottom .bloc1 {    text-align: center;}
footer.bottom .footer-wrapper {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-top: 20px;
  width: 100%;
  flex-wrap: wrap;
}
footer.bottom label.modal-label {  color: var(--second-color);  text-decoration:underline;}
footer.bottom label.modal-label:hover {  text-decoration: none;  color: var(--third-color);}
footer a{      color: var(--third-color);  text-decoration:underline; }
footer a:hover{ color:var(--third-color)!important; text-decoration:none;}
footer.bottom .phone-responsive {  display: none;}
footer.bottom h2{
  font-size: 30px;
  left: 0.01em;
  text-transform: uppercase;
  color: #fff;
  margin: 0px 0px 35px;
  position: relative;
  z-index: 2;
  position: relative;
}
footer.bottom h2:before{
  z-index: -1;
  left: -5px;
  top: -7px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  content: '';
  /* background: var(--third-color); */
  position: absolute;
}

footer.bottom .bloc3 h2 ,footer.bottom .bloc4 h2 a {text-decoration : none; color:#eee;}
span.date {
  width: 96px;
  float: left;
  position:relative;
}
span.date:before{ position:absolute; right:10px; top:0px; content:':';}
footer.bottom .bloc2{
  position: relative;
  /* margin-top: 55px; */
  border: 1px solid var(--second-color);
  padding: 40px 70px;
  text-align: center;
  margin: 20px;
  width: 100%;
  display:flex;
  flex-wrap: wrap;
}
footer.bottom .bloc2 h2{width:100%;}
footer.bottom .bloc2 .adress{width: 50%;}
footer.bottom .bloc2 .adrs1{}
footer.bottom .bloc2 .adrs2{}
footer.bottom .bloc2 .adrs3{}

footer.bottom .bloc3{
  position: relative;
  margin-top: 55px;
  border: 1px solid var(--second-color);
  text-align: center;
  padding: 40px 100px;
  margin: 20px;
  width: 45%;
}

footer.bottom .bloc4{
  position: relative;
  margin-top: 55px;
  border: 1px solid var(--second-color);
  padding: 60px;
  text-align: center;
  padding: 40px 20px;
  margin: 20px;
  width: 45%;
}



/********************/
a#scrollTopBtn {bottom: 35px;left: auto;z-index: 9;right: 10px;padding: 0px 11px 4px;background: var(--second-color);border-radius: 0;color: #fff;font-size: 30px;line-height: 1;text-decoration: none;box-shadow: none;transition: background .4s, box-shadow .4s;}

.footerSlideButton1 {
  color: var(--second-color) !important;
}
a#scrollTopBtn:hover {
  background:var(--main-color);
  box-shadow: 0 5px 30px rgba(0,0,0,.5);
}
a#scrollTopBtn i.fa::before {
  content: '\f0d8';
}
.phone-responsive {
  display: none;
}

.cookieinfo a.cookieinfo-close {
  border-radius: 3px !important;
  text-transform: uppercase;
  font-size: .9em;
  padding: 5px 15px !important;
}
/*--------------------------------------------------
# Navigation
--------------------------------------------------*/

/*--------------------------------------------------
## Superfish
--------------------------------------------------*/
.sf-menu, .sf-menu * {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sf-menu li {
  position: relative;
}
.sf-menu ul {
  position: absolute;
  display: none;
  top: 100%;
  left: 0;
  z-index: 99;
}
.sf-menu > li {
  font-size: 0;
  display: inline-block;
}
.sf-menu li:hover > ul,
.sf-menu li.sfHover > ul {
  display: block;
}
.sf-menu a {
  display: block;
  position: relative;
}
.sf-menu ul ul {
  top: 0;
  left: 100%;
}
.sf-menu ul {width: 180%;text-align: center;background: #ffffff;margin-top: 5px!important;/* box-shadow: 0px 0px 5px rgb(0 0 0 / 50%); */left: -38%;/* top: 120%; */border-radius: 12px;}
.sf-menu a {
  padding: 0px 25px 0px;
  height: 35px;
  line-height: 35px;
  font-size: 14px;
  text-decoration: none;
  color: #161616;
  text-transform: uppercase;
  font-family: 'OutfitLight';
  letter-spacing: 0.1em;
  text-align: center;
  float: left;
}

.sf-menu li:first-child {padding-left: 0px;background:none;}
.sf-menu > li{  padding: 0px 1px 0px 2px;}


.sf-menu li {}
.sf-menu > li {}
.sf-menu ul li {
  border-bottom:1px solid rgba(255,255,255,0.2);
  position:relative;
  width:100%;
  float:left;
  left: 0px;
}
.sf-menu ul li:last-child{border-bottom:none;}
.sf-menu ul li a {
  padding: 25px 10px!important;
  font-size: 13px!important;
  border:none!important;
  line-height:1.2em!important;
  text-align:center!important;
  float: none!important;
  height:auto!important;
  border:none!important;
  left: 0px;
  border-radius: 0px;
}
.sf-menu ul li a:before{ display:none;}
.sf-menu li a:hover:before, .sf-menu li.sfHover > a:before,
.sf-menu li.selected > a:before, .sf-menu li.active > a:before {opacity:1;}
.sf-menu li a:hover, .sf-menu li.sfHover > a,
.sf-menu li.selected > a, .sf-menu li.active > a {
  background:var(--main-color);
  border-radius:28px;
  transition:none!important;
}
.sf-menu li > ul li a{    padding: 15px !important;}

.sf-menu ul li a:hover, .sf-menu ul li.sfHover > a,
.sf-menu ul li.selected > a, .sf-menu ul li.active > a {
  color: var(--second-color);
  background:none!important;
  border:none!important;
  border-radius:0px;
}

/* styling for both css and generated arrows */
.sf-arrows .sf-with-ul::after {
  content: '\f107';
  font-family: 'FontAwesome';
  font-size: .9em;
  line-height: 1em;
  position: absolute;
  bottom:-3px;
  left: 50%;
  transform: translateX(-50%);
  transition: color .4s;
}
.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul::after,
.sf-arrows > .sfHover > .sf-with-ul::after,
.sf-arrows > .selected > .sf-with-ul::after,
.sf-arrows > .active > .sf-with-ul::after {
  color: var(--fourth-color);
}
/*--------------------------------------------------
## Mobile navigation
--------------------------------------------------*/
.site-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.3);
  opacity: 0;
  transform: translate3d(100%,0,0);
  transition: opacity 0.4s, transform 0s 0.4s;
  transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
/* Close Button */
.close-button {
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  right: 1em;
  top: 1em;
  overflow: hidden;
  text-indent: 1em;
  font-size: 0.75em;
  border: none;
  background: transparent;
  color: transparent;
}
.close-button::before,
.close-button::after {
  content: '';
  position: absolute;
  width: 3px;
  height: 100%;
  top: 0;
  left: 50%;
  background: #ccc;
  transition: background .4s;
}
.close-button::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.close-button::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.close-button:hover::before,
.close-button:hover::after {
  background: #fff;
}
/* Menu */
.menu-wrap {
  position: fixed;
  overflow: auto;
  top: 110px;
  left: 0;
  z-index: 1001;
  width: 300px;
  height: 100%;
  background: var(--fourth-color);
  box-shadow: 0 0 20px rgba(0,0,0,.8);
  padding: 40px 20px 20px;
  transform: translateX(-100vw);
  transition: transform 0.4s;
  transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.mobile-menu {
  transform: translateX(500px);
}
.mobile-menu > ul {
  display: block;
  transform: translateX(-1000px);
}
.mobile-menu,
.mobile-menu > ul {
  transition: transform 0s 0.4s;
  transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 18px;
  line-height: 1.5em;
}
.mobile-menu ul ul {
  background: rgba(0,0,0,.15);
  font-size: 16px;
  margin-top: 5px;
  margin-bottom: -5px;
  border-top: 1px solid rgba(255,255,255,.2);
}
.mobile-menu li:first-child {
  border-top: none;
}
.mobile-menu li {
  padding: 5px 0;
  border-top: 1px solid rgba(255,255,255,.2);
}
.mobile-menu li li {
  position: relative;
  border-top: 1px solid rgba(255,255,255,.2);
}
.mobile-menu li li::before {
  content: '\f105';
  font-family: 'FontAwesome';
  position: absolute;
  color: rgba(255,255,255,.5);
  z-index: 5;
  left: 10px;
}
.mobile-menu a {
  padding: 0 5px;
  display: block;
  color: #fff;
  text-decoration: none;
  transition: color .4s, background .4s;
}
.mobile-menu a:hover, .mobile-menu .selected > a, .mobile-menu .active > a {
  color: var(--fourth-color);
  background: var(--second-color);
}
.mobile-menu li li a {
  padding-left: 25px;
}
/* Shown menu */
.show-menu .menu-wrap {
  transform: translate3d(0,0,0);
  transition: transform 0.8s;
  transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.show-menu .mobile-menu,
.show-menu .mobile-menu ul {
  /* position: relative; */
  transform: translate3d(0,0,0);
  transition: transform 0.8s;
  transition-timing-function: cubic-bezier(0.7,0,0.3,1);
  top: 50px;
}
.show-menu .mobile-menu ul {
  transition-duration: 0.9s;
}
.show-menu .site-overlay {
  opacity: 1;
  transition: opacity 0.8s;
  transition-timing-function: cubic-bezier(0.7,0,0.3,1);
  transform: translate3d(0,0,0);
}
.fullsite {
  position: relative;
  overflow: hidden;
}
article.content img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}



.mobile-links i.fa-solid.fa-location-dot::before{
  content: "\f3c5";
}
section.mobile-links{
  margin-top:25px;
  text-align: center;
}
section.mobile-links a i{
  font-style:normal!important;
}

section.mobile-links a i.fa-solid.fa-phone::before,
section.mobile-links a i.fa-regular.fa-envelope::before,
section.mobile-links a i.fa-solid.fa-location-dot::before,
section.mobile-links a i.fa-brands.fa-whatsapp:before{
  font-weight: bold;
  font-family: 'Font Awesome 5 Free';
  /* -webkit-text-stroke: 1px #b59c56;
  -webkit-text-fill-color: transparent;*/
  text-decoration: none;
  width: 42px;
  height: 42px;
  position: relative;
  display: inline-block;
  font-size:22px;
}
section.mobile-links a i.fa-brands.fa-whatsapp:before{
  font-family: 'Font Awesome 5 Brands';
  font-weight: 400;
}
.tarif {background: var(--light-color);box-shadow: 0 0 24px rgb(72 72 72 / 15%);padding: 20px;display: table;font-size: 16px;grid-template-columns: auto auto;justify-content: space-between;grid-gap: 20px;position: relative;}

#news-categories > a.news-category-list.active{
  padding: 18px 12px;
  line-height: 1.2em;

  background: var(--main-color);
  /*color: white;*/
  text-decoration: none;
  margin: 25px;
  font-size: 18px;
}
#news-categories > a.news-category-list:hover{background: var(--main-color);}
#news-categories > a {
  font-size: 19px!important;
  text-decoration: none!important;
  background: #eee;
  padding: 18px 12px!important;
  line-height: 1.2em!important;
}




/**CSS News sharing**/
.news-share {
  position: relative;
  margin-top: 20px;
  background: none;
  padding: 10px 20px;
  border: 1px solid #c3c2c2;
  /*display: flex;*/
  display:grid;
  grid-template-columns:auto auto 45px;
  /*justify-content: space-between;*/
  align-items: center;
}
.news-share span.share-icons {
  text-align: right;
  position: relative;
}
.news-share span.share-icons div#ContainerBlockSocial {
  padding-right: 20px;
}
span.share-icons::after {
  content: '';
  position: absolute;
  width: 1px;
  top: -16px;
  bottom: -16px;
  background: #c3c2c2;
}
span.share-icons::after {
  right: 0;
}
.news-share #ContainerBlockSocial a{
  background-color: var(--second-color) !important;
  border-radius: 15px!important;
}
.news-share .networks_linking a {
  display: inline-block;
  margin: 0 2px;
  width: 35px;
  height: 35px;
  background: #bfa45a;
  border-radius: 50%;
  color: #fff;
  line-height: 35px;
  transition: all .4s;
}
.news-share #ContainerBlockSocial a {
  transition: all .4s;
}
.news-share #ContainerBlockSocial a:hover {
  background: #000000 !important;
}
.news-share .networks_linking a:hover {
  color: #fff;
  background-color: #222 !important;
}
.news-share .networks_linking a.networks_google i, .news-share .networks_linking a.networks_tiktok i {
  font-size: 0;
}
.news-share .networks_linking a.networks_google {
  background-image: url(../images/gmb.html) !important;
  background-repeat: no-repeat!important;
  background-position: center!important;
}
.news-share .networks_linking a.networks_tiktok {
  background-image: url(../images/tiktok.html)!important;
  background-repeat: no-repeat!important;
  background-position: center!important;
}
a.backbtn { 
  background:none!important;
}
.backbtn {
  /* background: #aaaaaab0;*/
  text-indent: 0;
  text-decoration: none;
  width: 30px;
  height: auto;
  margin: 5px auto;
  color: #fff;
  padding: 5px 12px;
  border-radius:14px;
}
.backbtn:hover {
  text-decoration: none;
  color: #fff;
  background: #aaa;
}


/*********** News internes ********************/
#news-categories .news-category-list {
  background: none;
  padding: 8px 12px;
  line-height: 1.2em;
  border-radius: 0;
  display: inline-block;
  transition: background-color .4s;
  background: var(--bs-secondary-bg);
  color: var(--light-color);
  text-decoration: none;
  margin: 2px;
}
#news-categories .news-category-list.active {
  background-color: var(--bs-primary-color);
}
#news-items {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 35px;
}
#news-items > .news-item .news-item-wrapper {
  position: relative;
  display: grid;
  grid-template-columns: auto!important;
  grid-gap: 15px;
  margin-bottom: 15px;
  background: var(--light-color);
  box-shadow: 0 0 24px rgb(72 72 72 / 15%);
  padding: 10px;
  transition: all .4s;
}
#news-items > .news-item .news-item-wrapper:hover{ background: var(--main-bg-color);box-shadow: 0 0 24px var(--main-bg-color);}
#news-items > .news-item .news-item-wrapper .news-item-photo {  height: 220px;}
#news-items > .news-item .news-item-wrapper h5.news-item-date {  display: none;}
#news-items > .news-item .news-item-wrapper:hover {  background: var(--main-bg-color);}
#news-items > .news-item .news-item-wrapper:hover h3 {  color: var(--light-color);}
#news-items > .news-item.inactive {  display: none;}
img.img-responsive.img-news {
  float: right;
  margin: 0 0 20px 30px;
  max-width: 300px;
  max-height: 200px;
}
.news-pages div#news-categories {
  display: none;
} 


#news-items > .news-item .news-item-wrapper {
  position: relative;
  display: grid;
  /* grid-template-columns: 1fr 3fr; */
  grid-gap: 15px;
  margin-bottom: 15px;
}

.cta-rdv {
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 400;
  padding: 17px 18px 10px;
  display: table;
  margin: 25px auto;
  color: var(--third-color);
  border: 1px solid var(--third-color);
  font-size: 19px;
}
.cta-rdv h2{color:var(--third-color);}
.cta-rdv .btn{background:var(--third-color);color:#fff; text-decoration:none;border-radius: 28px;}
.cta-rdv .btn:hover{background:var(--main-color);color:#fff;}

body > div.fullsite > section.page-content > div > article > div.aos-init.aos-animate > div.cta-rdv > p > a {
  position: relative;
  text-decoration: none;
  top: 6px;
}
.call-linking {
  display: flex;
  grid-gap: 3px;
  z-index: 105;
  position: fixed;
}
.call-linking a {
  /* background:  url(../images/bg-reservation.webp); */
  background:var(--second-color);
  color: var(--light-color);
  text-decoration: none;
  text-align: center;
  text-transform: uppercase;
  line-height: 22px;
  font-size: 14px;
  position: relative;
  padding: 10px 10px;
  transition: all .4s;
  color: white;
}
.call-linking a.link1 {
/*  filter: hue-rotate(63deg);*/
  background:var(--third-color);
}
.call-linking a:hover {background:var(--main-color);}
.call-linking a.link1:hover {background:var(--fourth-color);}

.call-linking a:before {
  content: "";
  position: relative;
  display: table;
  margin: 0 auto;
  width: 100%;
  height: 30px;
  margin: 0 0 7px;
  transition: all .4s;
}
.call-linking a:hover::before {
  transform: scale(1.2);
}
.call-linking a.link2:before {
  background-image: url(../images/icon-reservation.webp);
  background-size: 28px;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 0 14px;
}

.call-linking a.link1:before {
  background-image: url(../images/icon-whatsapp.webp);
  background-size: 27px;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 0 14px;
}
.call-linking a.link1:before {
  /* content: "\f232"; */
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  font-size: 31px;
  line-height: 32px;
  top: 1px;
}
.call-linking a.link2 {
  padding: 12px 18px;
}

/******************************
Responsive
***************************/
@media only screen and (max-width : 1760px) {

}
@media only screen and (max-width : 1500px) {
  
  .sf-menu a {    padding: 0px 14px 0px;}

}
@media only screen and (max-width : 1366px) {

}
@media only screen and (max-width : 1330px) {
  .container {  width: 100%!important;  }

  section.boxes .boxes-grid .box .img {    height: auto;}
  .photo-home {
      margin: 0px 25px 10px 0px;
      display: flex;
  }
  section.boxes h2 {    margin-bottom: 79px;}
}
@media only screen and (max-width : 1279px) {
  .sf-menu a {
  font-size: 13px;
  padding: 0px 12px 0px;
  }
  header.top .slogan {    top: 58%;}
  footer.bottom {font-size: 16px;letter-spacing: 0;}
  section.boxes .boxes-grid {    grid-gap: 10px;}
  section.etapes ul {    grid-gap: 35px;}
  a#btp_id {
    text-align: center;
    position: relative;
    right: 0px;
    top: 0;

    display: block;
  }
  section.boxes .boxes-grid .box {    padding: 10px;  }
  section.home-content article.content header.page-title h1 {
    max-width: 100%;
    margin-top: 0px;
    font-size: 24px;
    line-height: 27px;
  }
}
@media only screen and (max-width : 1199px) {

  .sf-menu a {padding: 0px 2px 0px;font-size: 13px;}
  .logo {    max-width: 279px;top: 93px;}
  .logo img{    max-width: 70%;    top: 110px;    position: relative;    }
  header.top .slogan h6 {
    font-size: 19px;
    margin-bottom: 22px;}
  .photo-home {    max-width: 380px;  }
  header.top .slogan h2 {
    margin-bottom: 13px;
    font-size: 20px;
    line-height: 30px;}
  .logo {  margin-top: 31px;}
  footer.bottom img {
    /* max-width: 310px; */
    /* width: 50%; */
    /* left: 40%; */
  }
  footer.bottom .bloc2 {
    position: relative;
    margin-top: 25px;}

  footer.bottom .bloc3 {
    position: relative;
    margin-top: 25px;}

  footer.bottom .bloc4 {
    position: relative;
    margin-top: 25px;}
}
@media only screen and (max-width : 1023px) {
  .sf-menu a {
    padding: 0px 4px 0px;
    font-size: 12px;
  }
  .photo-home {    max-width: 370px;  }
}

@media only screen and (max-width : 991px) {

  body > div.fullsite > section.etapes > div > div > p > img {
    width: 100%!important;
    height: 50%!important;
  }

  .titss {    display: block;  }
  nav.main-nav .nav-wrapper .nav-bar1, nav.main-nav .nav-wrapper .nav-bar2 {    display: none;}
  nav.main-nav .mobile-nav {display: inline-block;margin-left: auto;text-align: center;max-width: 45px;margin-top: 39px;margin-left: 140px;position: absolute;}


  .logo {
    display: block;
    margin: 0;
    width: 280px;
    left:0px; right:0px;
    margin:0 auto;
  }


  .photo-home {
    float: none;
    display: table;
    margin: 0 auto 60px;
    max-width: 437px;
    text-align: center;

  }


  section.services .services-grid {    grid-template-columns: repeat(1,1fr);    grid-gap: 40px;  }
  section.boxes .boxes-grid {    grid-template-columns: repeat(1,1fr);  }
  footer.bottom .footer-wrapper {    grid-template-columns: repeat(1, 1fr);
  }

  section.boxes .boxes-grid .box {
    max-width: 402px;
    width:100%;
    margin: 0 auto;
    margin-bottom: 20px;padding: 10px;
  }
  footer.bottom .bloc1{float:none;/* margin:0 auto; *//* display:table; *//* width: 140%; *//* text-align:center; */margin-bottom:20px;/* padding: 10px 70px; *//* left: -160px; */position: relative;text-align: center;}
  footer.bottom .bloc2{float:none;margin:0 auto;/* display:table; */margin-bottom:20px;padding-left:0px;text-align:center;margin-bottom:20px;padding: 10px;}
  footer.bottom .bloc3{float:none;margin:0 auto;/* display:table; */margin-bottom:20px;/* padding-left:0px; */text-align:center;margin-bottom:20px;padding: 10px;}  
  footer.bottom .bloc4{float:none;margin:0 auto;/* display:table; */margin-bottom:20px;padding-left:0px;text-align:center;margin-bottom:20px;padding: 10px 28px;}

  header.top .slogan .phone{ margin:0 auto; margin-top:16px;}

  header.top .banner {
    width: 100%;
    top: 0;
    transform: translateY(0%);
    margin-bottom: 20px;
  }
  header.top.small .banner { height:600px;}
  header.top.big {height: 640px;}
  header.top.small{ height: 600px;}
  header.top.small .slogan {  }
  header.top .slogan {
    top: 62%;
    right: 0;
    transform: translateY(0%);
    text-align: center;
    left: 0px;
    width: 100%;
    display: table;
    padding: 10px;font-size: 18px;
  }

  .contenu-h {
    float: left;
    width: 100%;
  }


  footer.bottom .footer-wrapper {/* display: block; */}

  footer.bottom img {/* max-width: 100%; */}

  a#btp_id {
    position: relative;
    right: 0px;
    top: 0;
    z-index: 4;
    display: table;
  }
  header.top .banner::before {    background: rgba(33,16,3,0.33);  }
  section.etapes {min-height: 305px;}
  section.etapes .projects-grid {
    /* display: block; */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
  }
  section.etapes .projects-grid .bx {
    position: relative;
    text-align: center;
    min-width: 17%;
    height: 50px;
    margin: 0 auto;
    margin-bottom: 0px;
    /* margin-bottom: 20px; */
  }
  section.etapes .projects-grid .bx h3{
    padding-bottom: 140px;
    height: 180px;
    background-size: contain;
    font-size: 15px;
  }



  section.boxes h3 {
    text-align: center;

    width: 100%;

  }
  section.boxes .boxes-grid .box .plus { float:none; margin:0 auto; margin-top:20px;display: table;}
  section.boxes-gall .box-gall { text-align: center;
    padding-top: 30px;
    float: none;
    margin: 0 auto;
    display: table;}
  section.boxes-gall .box-gall .plus {float:none; margin:0 auto; margin-top:20px;display: table;}
  footer.bottom h2 {/* width: auto; *//* display: table; *//* margin: 0 auto; */margin-bottom: 20px;/* text-align: center; */}
  section.boxes-gall:before { display: block;
    width: 100%;
    height: 200px;
    position: relative;
    background: url(../images/bg-gall.jpg) left center no-repeat;}
  section.boxes-gall { background:#c0864a; padding-top:0px;}
  section.page-content {
    position: relative;
    padding: 100px 0px 55px;
    z-index: 3;
  }
  section.home-content {
    position: relative;
    padding: 50px 0px 55px;
    z-index: 3;
  }
}
@media only screen and (max-width : 767px) {
  h1 {    font-size: 30px; line-height: 100%;  }
  h2 {    font-size: 19px; line-height: 100%;  }
  article.content header.page-title h1{margin-top:0;font-size: 3.5rem;padding-top: 10px;}

  header.top .slogan .phone{ display:none;}
  .titss{display:block;}
  .tits{display: none;}
  header.top .slogan .phone-responsive{    display: block;    text-align: center;  }
  header.top .slogan .phoner{ margin:0 auto; margin-top:16px;}
  footer.bottom .phone-responsive {    display: inline-block;  }

  footer.bottom .phone {    display:none;  }
  .image-right,
  .image-left {
    float: none;
    margin: 10px auto;
    max-width: 100%;
    height: auto;
    display: block;
  }
  div#NewsItems .photo-news {
    float: none;
    margin: 0 auto 20px;
    display: table;
  }
  div#NewsItems .NewsItem.box {    text-align: center;  }
  .phone {    display: none;  }
  .phone-responsive {    display: inline-block; color:#fff; }
  .phone-responsive a { color:#fff; }

  section.boxes .boxes-grid{display :block;}
  section.boxes {    padding: 50px 0 50px;  }

  section.contact h2 {
    float: none;
    font-size: 34px;
    text-align: center;
  }
  section.contact .container > div {
    float: none;
    margin: 20px auto 0;
    display: table;
  }
  #news-items{display:flex;      flex-direction: column;        flex-wrap: wrap;        align-content: center;        justify-content: flex-start;}
  .cta-rdv{display:block;}
  .cta-rdv .btn{white-space: break-spaces;        width: 100%;        height: auto;}
  footer.bottom .footer-right {
    float: none;
    margin-top: 0;
  }
  footer.bottom .footer-adr, footer.bottom .footer-tel, footer.bottom .footer-mail {
    padding: 20px 0 0;
    background-position: top center;
  }
  .footer-small .nav-footer span.sep {
    padding: 0;
    display: block;
    height: 0;
  }
  .footer-small {    margin: 30px 0 0;  }
  footer.bottom {    text-align: center;  }
  .photo-home {    float: none;    display: flex;  }
  span.subtitle {font-size: 20px;line-height: 30px;}
  
  footer.bottom .bloc3 h2 ,footer.bottom .bloc4 h2 {  font-size: 22px;}
  
  
}

@media only screen and (max-width : 480px) {

  .vCard .box-light{margin: 0 20px ;}

  section.etapes {min-height: 235px;}
  section.etapes .projects-grid {
    /* display: block; */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
  }
  section.etapes .projects-grid .bx {
    position: relative;
    text-align: center;
    min-width: 17%;
    height: 50px;
    margin: 0 auto;
    margin-bottom: 0px;
    /* margin-bottom: 20px; */
  }
  section.etapes .projects-grid .bx h3{
    padding-bottom: 60px;
    height: 80px;
    background-size: contain;
    font-size: 15px;
  }

  article.content p {
    margin: 0 0 20px;
    text-align: left!important;
  }
  span.subtitle {font-size: 26px;line-height: 28px;}
  section.boxes h2 {  font-size: 37px;}
  nav.main-nav .mobile-nav {  margin-top: 33px;          margin-left: 100px;}

  h1 {  font-size: 45px;  }
  section.home-content article.content::after {  right: 0;}
  .photo-home .img1 h3 {
    left: 10px;
    font-size: 18px;
    text-align: left;
  }

  header.top .slogan h2 {  font-size: 18px;  line-height: 25px;}
  header.top .slogan h6 {margin-bottom: 20px;font-size: 18px;}
  nav.main-nav {height: 108px;}
  nav.main-nav .bouton {    width: 94px;    font-size: 10px;    margin-top: 16px;}
  .logo {max-width:100%;top: 96px;}
  section.boxes .boxes-grid .box .img {
    width: 100%;
    height: auto;
  }
  article.content p {
    margin: 0 0 20px;
    text-align: left!important;
  }


  section.home-content article.content p{text-align: center!important; }

  header.top .slogan span.number-responsive {    display:inline-block;  }
  header.top .slogan span.number-responsive a{ display:block;}
  section.contact .container > div a {padding: 16px 25px;}
  
  footer.bottom .footer-wrapper{}
  footer.bottom .bloc2 {}
  footer.bottom .bloc2 .adress{  width: 100%;}
  footer.bottom .bloc3,footer.bottom .bloc4 {  width: 100%;}
  
}


.gdpr_policy {line-height: 20px;margin: 10px 0;}
.contactForm .gdpr_policy label {
  /* width: 90%;*/
  margin: -5px 0 0 20px;
}
.contactForm input.form-upload {
  width: 100%;
}
.contactForm .gdpr_policy input[type=checkbox] {
  position: absolute;
  margin-top: 5px;
}
form.contactForm .g-recaptcha{
  float: none;
}
@media only screen and (max-width : 480px) {
  .contactForm .gdpr_policy input[type=checkbox] {
    margin-top: 0px;
  }
  /*submit btn*/
  .contact-submit,
  .contactForm .form-submit-button{
    width:100%;
  }
}
/*recaptcha*/
.contactForm .g-recaptcha {
  margin-bottom: 20px;
}
@media only screen and (max-width: 420px){
  .contactForm .g-recaptcha {
    float: none;
    margin-left: 0px;
  }
  .g-recaptcha * {
    width: 100% !important;
  }
}


video{margin: 0px auto;}
#video_container,
.shaka-video-container{max-width: 480px;margin: 0px auto;}
#video_container{margin: 10px auto;    background-size: cover !important;}


main.content-wrapper > .photo .shaka-small-social-button.socials-images img {
  width: initial;
  height: initial;
}


/*popup*/
@media only screen and (max-width : 580px) {
  #news-popup .popup-wrapper .popup-photo{min-height:150px !important;}
  #news-popup .popup-wrapper .popup-content {
    /*overflow-y: scroll !important;*/
    height: 60vh;
  }
}




@media (prefers-color-scheme: dark) {
  body{
    background: var(--dark-color);
    color: #cecece;
  }
  h1,
  h3,
  h5 {color:var(--second-color);}

  .news-item-title{color:var(--main-color);}
  
  nav.main-nav,
  .is-sticky nav.main-nav,
  .sf-menu ul,
  section.etapes{
    background: var(--dark-color);
  }
  .sf-menu li a:hover, .sf-menu li.sfHover > a, .sf-menu li.selected > a, .sf-menu li.active > a,
  section.boxes-gall .box-gall .plus,
  #news-categories > a.news-category-list.active,
  .box-light{
    background: var(--third-color);
  }
  .contactForm .contact-field-item .contact-field-element .form-field,
  .modal__inner #news-popup .popup-wrapper{background: var(--dark-color) !important;}
    .modal__inner #news-popup .popup-wrapper,
    .contactForm .contact-field-item .contact-field-element .form-field::placeholder{color: #fff ;}
    .contactForm .contact-field-item .contact-field-element .form-field{color: #fff !important;}
    .contactForm .contact-field-item .contact-field-element .form-field::placeholder{opacity:.6;}
  section.boxes {background: linear-gradient(rgb(0 0 0 / 50%), rgba(0, 0, 0, 0.5)), url(../images/bg-service.jpg) top center no-repeat;}
  .sf-menu a,
  section.boxes-gall .box-gall .plus{    color:#cecece;  }
  header.top .banner{opacity: .75;}
  img {
    opacity: .75;
    transition: opacity .5s ease-in-out;
  }
  img:hover {
    opacity: 1;
  }
}
#sdgdpr_modal_wrapper,
#consent_wrapper_advanced {
  display: none !important;
}