/*--------------------------------------------------
>> TABLE OF CONTENTS:
----------------------------------------------------
# Fonts
# General
# Navigation
    ## Superfish
    ## Mobile navigation
--------------------------------------------------*/

/*--------------------------------------------------
# Fonts
--------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@font-face {
    font-family: 'Caviar Dreams';
    src: url('../fonts/CaviarDreams-Bold.woff2') format('woff2'),
        url('../fonts/CaviarDreams-Bold.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}



@font-face {
    font-family: 'Caviar Dreams';
    src: url('../fonts/CaviarDreams.woff2') format('woff2'),
        url('../fonts/CaviarDreams.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



/*--------------------------------------------------
# General
--------------------------------------------------*/
body {
    background: #ffffff;
	 color: #333333;
    font-family: 'Fira Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;

}
a {
    color: #ee6a24;
    text-decoration: underline;
    transition: all .4s;
}
a:active, a:hover, a:focus {
    color: #ee6a24;
    text-decoration: none;
}
 
.image-right {
    float: right;
    margin: 0 0 10px 25px;
}
.image-left {
    float: left;
    margin: 0 25px 10px 0;
}
 
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    line-height: 1.35em;
    font-family: 'Caviar Dreams';
	font-weight:500;    letter-spacing: 0;
	text-transform:none;
}

h1, .h1 {
    font-size: 45px;
	  color: #fff;	

}
h2, .h2 {
    font-size: 32px;
    color: #ee6a24;
}
h3, .h3 {
    font-size: 28px;
		  color: #fff;
}
h4, .h4 {
    font-size: 26px;
	color:#ee6a24;
}
h5, .h5 {
    font-size: 24px;
	  color: #fff;
}
h6, .h6 {
    font-size: 20px;
	color:#ee6a24;
}

hr {
	border-color: #ee6a24;
}


/********** navigation ********/

  div#sticky-wrapper {
  height: auto !important;
  position: absolute;
  width: 100%;
  z-index: 99;
  }
.is-sticky header.top {
    box-shadow: 0 0 20px #ee6a24;
    height: 82px;
    z-index: 3;
    background: #fff;
}
  
  .is-sticky .inner-wrapper {
  display: block !important;
  }
.is-sticky header.top nav.main-nav.main-nav1 {
    display: table;
    margin: -44px auto 0;
    float: none;
    padding: 0;
    left: 0;
}.camera_wrap img {
    max-width: none !important;
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.is-sticky header.top .logo, .is-sticky header.top .social-top {
    display: none;
}
  header.top .logo a {
  border-bottom: none;
  }
header.top .logo {
    float: left;
    position: relative;
    padding-top: 32px;
}
header.top .inner-wrapper {
    display: grid;
    grid-template-columns: 469px auto 53px;
    justify-content: space-between;
}.social-top {
    position: relative;
    padding: 76px 0 0;
    left: -22px;
}

header.top nav.main-nav {
    position: relative;
    padding: 22px 0 0;
}
  header.top nav.mobile-nav {
  display: none;
  font-size: 2em;
  }.sf-menu li#menu_2 a:hover, .sf-menu li#menu_2.sfHover > a, .sf-menu li#menu_2.selected > a, .sf-menu li#menu_2.active > a {
    color: #ee6a24;
}.sf-menu li#menu_1 a:hover, .sf-menu li#menu_1.sfHover > a, .sf-menu li#menu_1.selected > a, .sf-menu li#menu_1.active > a {
    color: #ee6a24;
}
  /*-------------------------------------------------------*/
.banner {
    position: relative;
    height: 934px;
    background: #ffffff ;
}
.banner.small {
    height: 700px;
}
.banner:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    background: url(../images/bg-header.jpg) no-repeat;
    width: 50%;
    height: 100%;
}
header.top {
  position: relative;
  }
.container-fluid {
    max-width: 1655px;
    padding: 0 15px;
    margin: 0 auto;
}
.banner .slide {
    position: absolute;
    right: 0px;
    top: 227px;
    width: 54%;
    height: auto;
    bottom: 0;
    box-shadow: 0 0 30px #00000038;
}
.banner .img-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.banner #slideshow, .banner .NewsItemBackground {
    position: absolute;
    left: auto;
    right: 0;
    top: 0;

    width: 100%;
    bottom: 0;
    z-index: 3;
    height: 100%;
}

  .diy-slideshow figure {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
  .banner .NewsItemBackground {
  background: no-repeat center;
  background-size: cover;
  }

/**************************************************/	
.camera_wrap .camera_pag .camera_pag_ul li:hover>span {
    background: none !important;
}
.camera_wrap .camera_pag .camera_pag_ul li {
    background: #ffffff !important;
}
.fluid_container #slideshow.camera_wrap .camera_pag {
    position: absolute;
    right: auto;
    bottom: -4px;
    z-index: 5;
    left: 0;
}
body.pageTemplate .fluid_container #slideshow.camera_wrap .camera_pag {

}
.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent>span {
    background: none !important;
}
.camera_wrap .camera_pag .camera_pag_ul li>span {
    height: auto !important;
    width: auto !important;
    border-radius: 0 !important;
    left: 0 !important;
    top: 0 !important;
    position: relative !important;
}

.camera_wrap .camera_pag .camera_pag_ul li:not(.cameracurrent) > span > span::before {
    font-size: 0;
}.camera_wrap .camera_pag .camera_pag_ul {

    text-align: left !important;
}
.camera_wrap .camera_pag .camera_pag_ul li:not(.cameracurrent) > span {
    font-size: 0 !important;
}
.camera_wrap .camera_pag .camera_pag_ul li:hover, .camera_wrap .camera_pag .camera_pag_ul li.cameracurrent {
    background: #ee6a24 !important;
}
.camera_wrap .camera_pag .camera_pag_ul li:not(.cameracurrent) > span > span {
    font-size: 0!important;
}


.camera_next>span, .camera_prev>span {
    display: none !important;
}
.camera_wrap .camera_pag .camera_pag_ul {
    display: block;
}
	


.banner .cta {
    position: absolute;
    bottom: 27%;
    z-index: 3;
    text-align: left;

}
.banner.small .cta {
    bottom: 25%;
}
.banner .cta .slogan {
    position: relative;
}
  
.banner .cta a.contact {
    font-size: 20px;
    line-height: 1;
    text-shadow: none;
    padding: 24px 44px;
    display: inline-block;
    text-decoration: none;
    color: #ffffff;
    background: #ee6a24;
    text-transform: uppercase;
    font-weight: 400;
    z-index: 1;
    transition: all 0.6s;
    position: absolute;
    letter-spacing: 0;
    border-radius: 50px;
    margin: 70px 0 0;
}.banner .cta a.contact:hover {
    color: #ee6a24;
}
.banner .cta a.contact:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: #fff;
    transition: all 0.6s;
    z-index: -1;
	border-radius:50px;
}
.banner .cta a.contact:hover:before {
    width: 100%;
}
.banner .cta .slogan h2 {
    color: #fff;
    font-size: 75px;
    line-height: 75px;
    text-align: left;
    text-transform: none;
    position: relative;
    margin: 0;
    font-weight: 700;
    max-width: 73%;
}

/******* 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;
}
.col-md-8.col-md-push-4 h3 {
    margin-top: 0;
}
article.content img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
}
/************ Content ***************/
section.home-content {
    position: relative;
    padding: 89px 0  260px;
    background: url(../images/bg.jpg) repeat;
    color: #fff;
    letter-spacing: 0.015em;
    text-align: center;
    clip-path: polygon(0 0, 100% 0, 100% 87%, 0% 100%);
}

section.page-content {
    position: relative;
    padding: 55px 0;
    background: url(../images/bg.jpg) repeat;
    color: #fff;
    letter-spacing: 0.015em;
}
article.content {
    position: relative;
}
section.parallax {
    position: relative;
    height: 500px;
    background: url(/smarty/wireframe31/media/images/spacer.jpg) no-repeat fixed center;
    background-size: cover;
}

.pageTemplate article.content header.page-title h1 {
    margin: 0;
    position: relative;
    padding-bottom: 30px;
    text-align: left;
    margin-bottom: 40px;
    letter-spacing: 0;
    font-size: 54px;
}
.pageTemplate article.content header.page-title h1:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: #ee6a24;
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
}
section.home-content article.content header.page-title h1 span:not(.subtitle) {
    color: #ee6a24;
    font-size: 26px;
    line-height: 30px;
    margin: 0;
    display: block;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}
span.subtitle {
    font-size: 55px;
    font-weight: 700;
    line-height: 74px;
    color: #fff;
    letter-spacing: 0;
    margin: 0;
    position: relative;
    display: inline-block;
    font-style: initial;
    text-transform: none;
}

section.home-content article.content header.page-title {
    margin: 0 auto 33px;
    position: relative;
    padding: 0 0 23px;
    display: table;
    text-align: center;
    background: url(../images/h1.png) no-repeat center bottom;
}

article.content ul {
    list-style: outside disc;
    margin-left: 0;
    padding: 0;
}
article.content ul li {
    position: relative;
    left: 1em;
    margin-left: 1em;
    padding-right: 1em;
}
article.content ul ul {
    list-style-type: circle;
}
article.content .table-style {
    position: relative;
}
article.content .table-style th {
    background: #ee6a24;
    color: #fff;
}
article.content .table-style th,
article.content .table-style td {
    border: 1px solid #ee6a24;
    padding: 5px 10px;
}

/*********** boxes ***************/
section.bg-sections {
    background: #fff;
    padding: 88px 0 105px;
}
section.b-bg-sections1 {
    position: relative;
 

}

section.boxes h2 {
    font-size: 55px;
    line-height: 60px;
    color: #ee6a24;
    margin: 0 0 30px;
    position: relative;
    letter-spacing: 0;
    font-weight: 500;
    text-transform: none;
    background: url(../images/h2.png) no-repeat left bottom;
    padding: 0 0 33px;
}
section.boxes .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/************/
section.boxes.box1 {
    position: relative;
    display: grid;
    grid-template-columns: auto 460px;
    grid-gap: 98px;
}
section.boxes.box1 .img-box {
    position: relative;
    order: 2;
}

section.boxes.box1 .img-box img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

section.boxes.box1 .bloc-text {
    position: relative;
    padding: 100px 0 160px;
}
section.boxes.box2 a, section.boxes.box3 a {


    font-size: 16px;
    line-height: 1;
    text-shadow: none;
    padding: 22px 48px;
    display: inline-block;
    text-decoration: none;
    color: #ffffff;
    background: #303030;
    text-transform: uppercase;
    font-weight: 400;
    z-index: 1;
    transition: all 0.6s;
    position: absolute;
    letter-spacing: 0.015em;
    margin: 45px 0 0;
    border-radius: 50px;
}
section.boxes.box2 a:before, section.boxes.box3 a:before{
    content: '';
    position: absolute;
    left: 0;border-radius:50px;
    top: 0;
    bottom: 0;
    width: 0;
    background: #ee6a24;
    transition: all 0.6s;
    z-index: -1;
}
section.boxes a {
    font-size: 16px;
    line-height: 1;
    text-shadow: none;
    padding: 22px 48px;
    display: inline-block;
    text-decoration: none;
    color: #ffffff;
    background: #ee6a24;
    text-transform: uppercase;
    font-weight: 400;
    z-index: 1;
    transition: all 0.6s;
    position: absolute;
    letter-spacing: 0.015em;
    margin: 45px 0 0;
    border-radius: 50px;
}
section.boxes a:before {
    content: '';
    position: absolute;
    left: 0;border-radius:50px;
    top: 0;
    bottom: 0;
    width: 0;
    background: #303030;
    transition: all 0.6s;
    z-index: -1;
}
section.boxes a:hover:before, section.boxes:hover a:before {
    width: 100%;
}
section.b-bg-sections {
    position: relative;
    padding: 111px 0 152px;
}
section.boxes.box4 {
    position: relative;
    display: grid;
    grid-template-columns: auto 460px;
    grid-gap: 98px;
}section.boxes.box4 .img-box {
    position: relative;
    order: 2;
    margin: -208px 0 -65px 0;
    z-index: 3;
}section.boxes.box4 .bloc-text {
    order: 1;
}section.b-bg-sections2 {
    position: relative;
    background: url(/smarty/wireframe31/media/images/bg.jpg) repeat center;
    padding: 51px 0 128px;
    /* clip-path: polygon(0 24%, 100% 0, 100% 100%, 0% 100%); */
    color: #fff;
}section.b-bg-sections2:after {
    position: absolute;
    content: "";
    clip-path: polygon(0 87%, 100% 0, 100% 100%, 0% 100%);
    top: -117px;
    left: 0;
    width: 100%;
    height: 126px;
    background: url(/smarty/wireframe31/media/images/bg.jpg) repeat center;
}
/*************************/
section.b-bg-sections {
    position: relative;

}
section.boxes.box2 {
    position: relative;
    display: grid;
    grid-template-columns: 460px auto;
    grid-gap: 98px;
}
section.boxes.box2 .img-box:after, section.boxes.box3 .img-box:after {
    position: absolute;
    content: "";
    bottom: -89px;
    left: 40px;
    right: auto;
    margin: auto;
    height: 169px;
    background: #ee6a24;
    width: 3px;
}section.boxes.box2:hover .img-box:after, section.boxes.box3:hover  .img-box:after {

    background: #171717;

}section.boxes.box4 .img-box:after {
    background: #fff !important;
}
section.boxes.box2 .bloc-text {
    padding: 129px 0 0px;
}section.boxes:hover .img-box:before {
    background: #ee6a24;
}section.boxes.box1 .img-box:before, section.boxes.box4 .img-box:before {
    left: auto;
    right: -47px;  background: #ee6a24;
}section.boxes.box4:hover .img-box:after {
    background: #ee6a24 !important;
}
section.boxes.box1:hover .img-box:before{
     background: #303030;
}
 section.boxes.box4:hover .img-box:before {
     background: #fff;
}section.boxes.box2 .img-box {
    margin: 0 0 0;
    height: 500px;
}section.b-bg-sections3 {
    position: relative;
    padding: 106px 0 127px;
}section.b-bg-sections:before {
    position: absolute;
    content: "";
    left: 0;
    top: -53px;
    width: 100%;
    height: 100%;
    background: url(/smarty/wireframe31/media/images/before-boxes.png) no-repeat left top;
    z-index: -1;
}
section.b-bg-sections3:after {
    position: absolute;
    content: "";
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(/smarty/wireframe31/media/images/after-boxes.png) no-repeat right bottom;
    z-index: -1;
}
section.boxes.box4:hover .img-box:after {
     background: #ee6a24;
}

section.boxes.box1 .img-box:after, section.boxes.box4 .img-box:after {
    position: absolute;
    content: "";
    bottom: -89px;
    left: auto;
    right: 40px;
    margin: auto;
    height: 169px;
    background: #303030;
    width: 3px;
}


section.boxes:hover .img-box:after {
    background: #ee6a24;
}
section.boxes .img-box {
    position: relative;
}
section.boxes .img-box:before {
    position: absolute;
    content: "";
    left: -47px;
    width: 100%;
    background: #303030;
    right: 0;
    top: 46px;
    bottom: -42px;
}section.boxes.box4 a:before {
    background: #fff;
}section.boxes.box4:hover a {
    color: #ee6a24;
}
/*************************/
section.boxes.box3 {
    position: relative;
    display: grid;
    grid-template-columns: 460px auto;
    grid-gap: 98px;
    padding: 30px 0 125px;
}
section.boxes.box3 .img-box {
    position: relative;
    order: 1;
}
section.boxes.box3 .bloc-text {
    padding: 127px 0 160px;
    order: 2;
}

/*-----------------realisations---------------*/

section.realisations {
    position: relative;
    padding: 93px 0px 222px;
    background: url(/smarty/wireframe31/media/images/bg.jpg) repeat center;
}
section.realisations #Gallery {
    position: relative;
	min-height: 0 !important;
}


section.realisations #Gallery .highslideContainer {

    padding: 0px;
 
}
section.realisations .slick-initialized .slick-slide > div {
    margin: 0 6px;
}
section.realisations #Gallery .highslideContainer .highslide {
    display: block;
    position: relative;
    border-bottom: none;
    overflow: hidden;
}
section.realisations #Gallery .highslideContainer .highslide img {
    position: relative;
    width: 100%;
    height: 344px;
    object-fit: cover;
    object-position: center left;
    transition: all 1.25s;
}
section.realisations #Gallery .highslideContainer .highslide:hover img {
    transform: scale(1);
	 filter: none;
}
section.realisations #Gallery .highslideContainer .highslide-caption {font-family: 'Barlow', sans-serif;
    color: #fff;
    text-transform: uppercase;
    font-weight: normal;
    font-style: normal;
    font-size: 1.1em;
}
section.realisations #Gallery .highslideContainer .highslide::before {
    content: "";
    position: absolute;
    top: 26px;
    bottom: 26px;
    left: 26px;
    right: 26px;
    margin: auto;
    z-index: 1;
    transition: all .8s;
    background: rgb(238 106 36 / 80%) url(../images/zoom.png) no-repeat center;
    transform: scale(0);
}
section.realisations #Gallery .highslideContainer .highslide:hover::before {
    transform: scale(1);
}
section.realisations .highslide-gallery .highslideContainer a.highslide:hover {
     transform: none;
}section.realisations #Gallery .highslideContainer {
    padding: 0px;
    opacity: 1 !important;
}

/*****************************************************************************************************/
footer.bottom {
    background: url(../images/bg-footer.jpg) repeat center;
    position: relative;
    padding: 0px 0 49px;
    color: #fff;
    letter-spacing: 0.025em;
    font-size: 16px;
}footer.bottom:before {
    clip-path: polygon(0 59%, 100% 0, 100% 100%, 0% 100%);
    position: absolute;
    content: "";
    left: 0;
    top: -146px;
    width: 100%;
    height: 228px;
    background: #2f2f2f;
}footer.bottom .btp {
    position: relative;
    margin: 27px auto 0;
    display: table;
}
footer.bottom .footer-wrapper {
    position: relative;
}

footer.bottom .logo-footer {
    position: relative;
    margin: 0 auto 37px;
    display: table;
}
.address {
    display: grid;
    grid-template-columns: auto auto auto;
    align-items: center;
    justify-content: space-between;
}


.address .bloc02 {
    background: url(../images/bg-tel.png) no-repeat left center;
    padding: 12px 0 12px 45px;
    position: relative;
}
.address .bloc01 {
    background: url(../images/bg-maps.png) no-repeat left center;
    padding-left: 45px;
    position: relative;
}
.address .bloc03 {
    background: url(../images/bg-mail.png) no-repeat left center;
    padding-left: 45px;
    position: relative;
}
.address .bloc01:before, .address .bloc02:before, .address .bloc03:before {
    content: '';
    position: absolute;
    left: 27px;
    height: 38px;
    width: 2px;
    background: #fff;
    top: 5px;
}

footer.bottom a, footer.bottom label.modal-label {
    color: #ee6a24;
    text-decoration: underline;
    transition: all .4s;
}
footer.bottom label.modal-label:hover, footer.bottom a:hover {
	text-decoration:none !important;
	color:#ee6a24;
	
	
	}
.number-responsive {
    display: none;}



#news-popup-modal .modal__inner #news-popup .popup-wrapper {
    background: #ee6a24;
}

footer.bottom .wrapper .adresse .infos-footer .infos-right > div a {
    color: #ee6a24;
     border-bottom: 1px solid #ee6a24;

    text-decoration: none;
}

footer.bottom .wrapper .adresse .infos-footer .infos-right > div a:hover {
    color: #ee6a24;
    text-decoration:none;
    border-bottom:0;
}


div#footerSlideContainer {
    /* position: sticky; */
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    text-align: right;
    padding: 5px;
}
div#footerSlideContainer #footerSlideButton {
    position: relative;
    color: #999;
}


/********************/
a#scrollTopBtn {
    bottom: 35px;
    left: auto;
    right: 15px;
    padding: 4px 13px 7px;
    background: #ee6a24;
    border: none;
    border-radius: 0;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: background .4s, box-shadow .4s;
}
a#scrollTopBtn:hover {
    background: #fff;
	  color: #ee6a24;
    box-shadow: 0 5px 30px #ee6a24;
}
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 {
    box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
    min-width: 100%;
    text-align: center;
    margin-top: -49px;
    background: #ee6a24;
}
.sf-menu a {
    padding: 72px 17px;
    font-size: 20px;
    text-decoration: none;
    color: #333333;
    text-transform: uppercase;
    line-height: 25px;
    font-weight: 500;
    letter-spacing: 0;
    font-family: 'Caviar Dreams';
}li#menu_2 a, li#menu_1 a {
    color: #fff;
}
.is-sticky li#menu_2 a, .is-sticky li#menu_1 a {
    color: #333333;
}

.sf-menu li {
	white-space: nowrap;
}
.sf-menu ul li a {
    padding: 9px 10px !important;
    color: #333333 !important;
    border-bottom: none !important;
    border-radius: 0;
    font-size: 18px;
}.sf-menu ul li:first-child {
    border-top: none;
}.sf-menu ul li {
    border-top: 1px solid #111;
}.social-top a.networks_facebook {
    background: #ee6a24;
    width: 52px;
    height: 52px;
    line-height: 53px;
    font-size: 22px;
    color: #000;
}.social-top a.networks_facebook:hover {
    background: #000 !important;
    color: #fff !important;
}
.sf-menu li a:hover, .sf-menu li.sfHover > a, .sf-menu li.selected > a, .sf-menu li.active > a {
    color: #ee6a24;
}
.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: #111;
    background: #fff;
    border-bottom: none !important;
}
/* 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;
    top: 100px;
    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: #ee6a24;
}
/*--------------------------------------------------
## 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: 0;
    left: 0;
    z-index: 1001;
    width: 300px;
    height: 100%;
    background: #494545;
    box-shadow: 0 0 20px #ee6a24;
    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: 5px 10px;
    display: block;
    color: #fff;
    text-decoration: none;
    transition: color .4s, background .4s;
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    font-family: 'Caviar Dreams';
}
.mobile-menu a:hover, .mobile-menu .selected > a, .mobile-menu .active > a {
    background: #ee6a24;
    color: #fff;
}
.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 {
	transform: translate3d(0,0,0);
	transition: transform 0.8s;
	transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.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;
}
/******************************
		Responsive
***************************/

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

header.top .inner-wrapper {

    grid-template-columns: 350px auto 50px;

}.sf-menu a {
    padding: 72px 8px !important;

}.banner:before {

    width: 48%;

}.banner .cta .slogan h2 {

    font-size: 68px;
    line-height: 67px;

    max-width: 70%;
}
}
@media only screen and (max-width : 1320px) {
.sf-menu a {

    padding: 72px 4px !important;
    font-size: 17px !important;

}header.top .inner-wrapper {

    grid-template-columns: 300px auto 50px;

}section.boxes .img-box:before {

    left: -19px;

}section.boxes.box1 .img-box:before, section.boxes.box4 .img-box:before {

    right: -19px;

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

nav.main-nav.main-nav1 {
    display: none !important;
}.is-sticky header.top {

    height: auto;

}
.is-sticky header.top nav.mobile-nav {
    float: none;
    display: table;
    margin: 15px auto;
    padding: 0;
    left: 0;
}header.top .inner-wrapper {

    grid-template-columns: 355px auto auto;

}header.top nav.mobile-nav {
    display: table;
    font-size: 2em;
    margin: 0 auto;
    padding: 54px 0 0;
}.social-top {
 
    padding: 39px 0 0;
    left: 0;
}.banner .slide {

    top: 188px;
    width: 63%;

}.banner {

    height: 800px;

}.banner .cta .slogan h2 {

    font-size: 55px;
    line-height: 61px;

    max-width: 70%;
}section.boxes.box2, section.boxes.box1, section.boxes.box3, section.boxes.box4 {
    grid-gap: 50px;
}section.boxes.box1 .img-box:before, section.boxes.box4 .img-box:before {

    right: -8px;bottom: -9px;

}section.boxes .img-box:before {

    left: -8px;bottom: -9px;

}

}
@media only screen and (max-width : 991px) {
footer.bottom {
	    background-size: cover;
    text-align: center;    padding: 56px 0 49px;background: url(../images/bg-footer.jpg) no-repeat;
}
footer.bottom {
    background-size: cover !important;

}
.address {	
    grid-template-columns: 100%;
    grid-gap: 30px;
}
.address .bloc01, .address .bloc02, .address .bloc03 {
    padding: 45px 0 0;
    background-position: top center;
    display: table;
}
.address .bloc01:before, .address .bloc02:before, .address .bloc03:before {
    top: 30px;
    left: 0;
    right: 0;
    height: 2px;
    width: 38px;
    margin: auto;
}

.banner {

    height: 670px;

}.banner .cta .slogan h2 {

    font-size: 47px;
    line-height: 55px;
    text-align: center;

    max-width: 100%;
}
.banner .cta a.contact {
    position: relative;
    display: table;
    margin: 38px auto 0;
}.camera_overlayer {
    background: #0000006b !important;
}.banner:before {

    width: 100%;

}header.top .logo img {
    width: 250px;
}header.top .inner-wrapper {

    grid-template-columns: 156px auto 53px;

}.banner .slide {

    right: 0px;
    top: 161px;
    width: 100%;

    bottom: 0;

}.banner .cta {

    bottom: 20%;

    text-align: center;
    left: 0;
    right: 0;
    margin: auto;
}.camera_wrap .camera_pag .camera_pag_ul {
    text-align: center !important;
}.fluid_container #slideshow.camera_wrap .camera_pag {

    right: 0;

    left: 0;
}section.boxes.box2, section.boxes.box1, section.boxes.box3, section.boxes.box4 {
    grid-gap: 50px;
    grid-template-columns: 100%;
}section.boxes .img-box {
    position: relative;
    width: 100%;
    height: 400px !important;
}section.home-content {

    padding: 40px 0  105px;

    clip-path: polygon(0 0, 100% 0, 100% 94%, 0% 100%);
}section.boxes .bloc-text {
    padding: 50px 0 50px !important;
}section.boxes.box1 .img-box {

    order: 1;
}section.boxes.box1 .bloc-text {

    order: 2;
}section.b-bg-sections2:after, footer.bottom:before {

    display: none;
}section.b-bg-sections3 {
    padding: 106px 0 27px;
}section.boxes.box4 .img-box {

    order: 1;
    margin: 0;
 
}section.boxes.box4 .bloc-text {
    order: 2;
}section.b-bg-sections2 {

    padding: 68px 0 110px;

}section.realisations {
  padding: 0 0px 72px;

}section.home-content {

    padding: 40px 0  62px;

    clip-path: none;
}section.b-bg-sections:before, section.b-bg-sections3:after {

    width: 500px;
    height: 500px;

    background-size: contain;
}.banner.small {
    height: 600px;
}
}
@media only screen and (max-width : 767px) {

span.phone {
    display: none;
}
.phone-responsive {
    display: inline-block;
}header.top .inner-wrapper {

    grid-template-columns: 234px auto 53px;

}.pageTemplate article.content header.page-title h1 {

    font-size: 38px;
}.banner .cta .slogan h2 {
    font-size: 39px;
    line-height: 53px;

}.banner.small .cta {
    bottom: 15%;
}
span.subtitle {
    font-size: 40px;

}h2, .h2 {
    font-size: 28px;
}section.boxes h2 {
    font-size: 44px;

}
}
@media only screen and (max-width : 480px) {
footer.bottom .logo-footer img {
    width: 100%;
}section.b-bg-sections:before, section.b-bg-sections3:after {

    width: 300px;
    height: 300px;

    background-size: contain;
}.banner .slide {

    top: 267px;

}.banner.small .cta {
    bottom: 9%;
}.banner .cta {
    bottom: 16%;

}h2, .h2 {
    font-size: 21px;

}span.subtitle {
    font-size: 29px;

    line-height: 40px;

}.banner .cta .slogan h2 {

    font-size: 34px;
    line-height: 43px;

}header.top .logo img {
    width: 100%;
}header.top .inner-wrapper {
    display: block;

}header.top .logo {
    float: none;

    padding-top: 19px;
    display: table;
    margin: 0 auto;
}header.top nav.mobile-nav {
    display: block;
    font-size: 2em;
    margin: 0 auto;
    padding: 27px 0 0;
    float: left;
}.social-top {

    padding: 21px 0 0;

    float: right;
}
}
.btn-gdpr {
    color: #fff !important;
    background: #ee6a24 !important;
}
.btn-gdpr:hover {
    color: #fff !important;
    background: #333 !important;
}