/* Desktop */
.grecaptcha-badge{visibility:inherit !important;z-index:1000000000;}
@media only screen and (min-width: 766px) and (max-width: 1440px) {
    #banniere .fond li .separation {
        width: 95px;
        height: 280px;
        left: -28px;
        transform: translateY(-50%) rotate(-1deg);
    }
}
@media only screen and (min-width: 1024px) and (max-width: 1200px) {
    #maps-interne .menu-side li span {
        font-size: 14px;
    }
	header .fixeds-top{left:0; right:0;}
}
@media screen and (min-width:1366px) {
  /*
    #realisation .box-realisation.orange .content,#realisation .box-realisation.jaune .content {
        height: 410px !important;
    }
    #realisation .box-realisation.orange .content .box-img {
        min-height: 410px;
        max-height: 410px;
    }
    */
}
@media screen and (min-width:1024px) {
    #realisation .box-realisation  .content {
        justify-content: space-between;
      height: 410px;
    }
    #realisation .box-realisation:not(.jaune) .content .box-img {
        min-height: 410px;
        max-height: 410px;
    }
    #maps .maps{
        border: 2px solid #000;
        border-radius: 120px;
        justify-content: center;
        padding: 25px 0;
      }
	#menu-genie, #menu-menu-principal{align-items:flex-end;}
	
}


/*Mobile*/
@media only screen and (min-width: 1024px) and (max-width: 1366px) {
    #realisation .box-realisation .content{
        height: auto;
    }
    #realisation .content .box {
        min-height: 255px;
    }
    #realisation .content .box-img{
        min-height: 425px;
        max-height: 425px;
    }
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape) {
    #realisation .content .box {
        min-height: 204px;
    }
}
@media screen and (max-width:1024px){
  body.moove_gdpr_overflow .rplg .rplg-badge-fixed{
z-index: 999!important;
}

.nodesktop{ display: block;
  margin-left: auto;
    margin-right: auto; }
.nomobile{ display: none; }

  .subnav li,  .subnav li a{
    color: #000;
font-weight: 300;
font-size: 20px;
text-align: center;
  }
  .subnav.nodesktop li a{font-weight:bold;}
  .subnav li a::after {
   content: "";
   background: #21211f;
   width: 52px;
   height: 2px;
   position: absolute;
   margin-top: 30px;
   left: 50%;
   transform: translateX(-50%);
}
    .gallery_box_single .gallery.clearfix {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .gallery .gllr_image_block{
        float: inherit;
    }
    header .navbar-expand-xl .navbar-nav .menu-item a{
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    #maps-interne .content .carte .maps img,
	#maps .maps img, #maps .maps .mapster_el{
        height: 100% !important;
        width: 100% !important;
    }
    #maps .maps {
        height: auto;
        padding-left: 0;
        background: none;
    }
	header .fixeds-top{left:0; right:0;}
	.upline a .fab{font-size:0.8rem;}
    header .upline li:not(.fab) ,#banniere .fond li .separation{
        display: none !important;
    }
    header .upline li.coordtel ,#banniere .fond li .separation{
        display: block !important;
        margin-right: 10px;
    }
	header .upline li.coordtel{ display: inline-flex !important; }
    header .upline li:last-child{
        margin-right: 30px;
    }
    header .upline li:first-child
    header .navbar-brand{
        width: 100px !important;
    }
    #nav-icon1 {
       width: 50px;
       height: 30px;
       position: relative;
       margin: 0px auto;
       -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
       -o-transform: rotate(0deg);
       transform: rotate(0deg);
       -webkit-transition: .5s ease-in-out;
       -moz-transition: .5s ease-in-out;
       -o-transition: .5s ease-in-out;
       transition: .5s ease-in-out;
       cursor: pointer;
     }
     #nav-icon1 span {
       display: block;
       position: absolute;
       height: 5px;
       width: 100%;
       background: #3eb1e6;
       border-radius: 0;
       opacity: 1;
       left: 0;
       -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
       -o-transform: rotate(0deg);
       transform: rotate(0deg);
       -webkit-transition: .25s ease-in-out;
       -moz-transition: .25s ease-in-out;
       -o-transition: .25s ease-in-out;
       transition: .25s ease-in-out;
     }
     #nav-icon1 span:nth-child(1) {
       top: 0px;
     }
     #nav-icon1 span:nth-child(2) {
       top: 12.7px;
     }
     #nav-icon1 span:nth-child(3) {
       top: 25px;
     }
     #nav-icon1.open span:nth-child(1) {
       top: 12.7px;
       -webkit-transform: rotate(135deg);
       -moz-transform: rotate(135deg);
       -o-transform: rotate(135deg);
       transform: rotate(135deg);
     }
     #nav-icon1.open span:nth-child(2) {
       opacity: 0;
       left: -60px;
     }
     #nav-icon1.open span:nth-child(3) {
       top: 12.7px;
       -webkit-transform: rotate(-135deg);
       -moz-transform: rotate(-135deg);
       -o-transform: rotate(-135deg);
       transform: rotate(-135deg);
     }
     header .navbar-expand-xl .navbar-collapse {
        margin-top: 0;
         position: absolute;
         top: 100%;
         width: 100vw;
         z-index: 100;
         background: #fff;
         left: 50%;
         transform: translateX(-50%);
         border-top: 1px solid #3eb1e6;
         padding: 10px 0 30px;
     }
     header .navbar-expand-xl .navbar-collapse li,
	 #menu-genie ul.sub-menu li, #menu-menu-principal ul.sub-menu li{
         text-align: center;
         padding: 15px 0 0;
     }
	.subnav.nodesktop{position:relative;top:3px;}
	.subnav.nodesktop li a{display:block;padding:7px 10px;}
	  #menu-genie ul.sub-menu li, #menu-menu-principal ul.sub-menu li{ padding: 0; }
     header .navbar-expand-xl .navbar-nav li:first-child a{
         margin: 0 auto;
     }
    header .navbar-expand-xl .navbar-nav > li:nth-child(2) a,
	header .navbar-expand-xl .navbar-nav > li:nth-child(3) a,
	header .navbar-expand-xl .navbar-nav > li:nth-child(4) a{padding: 10px 0 5px 0;}
    
	header .navbar-expand-xl .navbar-nav > li:first-child a, header .navbar-expand-xl .navbar-nav > .menu-item > a{display:block!important;height: auto;}
	header .navbar-expand-xl .navbar-nav > li:first-child{padding-bottom:0;}
	#menu-genie > ul.sub-menu, #menu-menu-principal > ul.sub-menu,{top:auto;}
	#menu-genie .menu-item-has-children:hover > ul.sub-menu, #menu-genie ul.sub-menu .menu-item-has-children:hover > ul.sub-menu,
	#menu-menu-principal .menu-item-has-children:hover > ul.sub-menu, #menu-menu-principal ul.sub-menu .menu-item-has-children:hover > ul.sub-menu{display:none;}
	#menu-genie .menu-item-has-children.openm > ul.sub-menu, #menu-genie ul.sub-menu .menu-item-has-children.openm > ul.sub-menu,
	#menu-menu-principal .menu-item-has-children.openm > ul.sub-menu, #menu-menu-principal ul.sub-menu .menu-item-has-children.openm > ul.sub-menu{display:block;}
	
	#menu-genie > li.menu-item-has-children > a > .togglem,
	#menu-menu-principal > li.menu-item-has-children > a > .togglem,
	#menu-menu-principal ul.sub-menu li.menu-item-has-children > a > .togglem,
	#menu-genie ul.sub-menu li.menu-item-has-children > a > .togglem{
		position: absolute;
		right: 0px;
		display: flex;
		text-align: center;
		bottom: 5px;
		height: 40px;
		width: 40px;
		align-items: center;
		justify-content: center;
	}
	#menu-genie ul.sub-menu li.menu-item-has-children > a, #menu-menu-principal ul.sub-menu li.menu-item-has-children > a {padding-right:40px!important;padding-left:40px!important;}
	#menu-genie ul.sub-menu li.menu-item-has-children > a > .togglem, #menu-menu-principal ul.sub-menu li.menu-item-has-children > a > .togglem{bottom:0;}
	/* header .navbar-expand-xl .navbar-nav li:nth-child(4) a::after,	header .navbar-expand-xl .navbar-nav li:nth-child(5) a::after,	.subnav li a::after{left:0;width:100%;transform:none;} */
	
	header .navbar-expand-xl .navbar-nav li:nth-child(2) a:hover, header .navbar-expand-xl .navbar-nav li:nth-child(3) a:hover {background: #fff;color: #000;}
	
     #banniere .box-img li:first-child{
         padding-left: 0
     }
     #banniere .titre {
         font-size: 20px;
         line-height: 30px;
     }
     #banniere .box-img li:last-child{
         padding-left: 15px;
         padding-right: 1rem;
     }
     h1,#intro .content .titre2,#services .titres span,#partenaire .titre span,#actus .titre,#maps .titre,
     #box-intro .titre {
         font-size: 30px;
         line-height: 35px;
     }
     #intro .content .titre{
         font-size: 20px;
         line-height: 30px;
     }
     #intro {
         padding-top: 50px;
         margin-bottom: 50px;
     }
     #intro h1 span::before,#services .titres span::before,#box-intro .titre span::before{
         top: -30px;
         left: -13px;
         width: 35px;
         height: 56px;
     }
     #intro .content .titre2::before,#intro .content .titre::before,#partenaire .titre span::before,#actus .titre span::before,
     #maps .titre span::before{
         top: -30px;
         left: -20px;
         width: 35px;
         height: 56px;
     }
     #box-intro {
         margin-bottom: 30px;
     }
     #gallerie .slider-for .slick-slide {
         height: 300px;
     }
     #gallerie .slider-nav .slick-slide {
         height: 100px;
         width: 120px;
         margin: 0 14.6px;
     }
     html,body{
         overflow-x: hidden !important;
     }
     #intro .prestation {
         flex-wrap: wrap;
         margin-top: 25px;
         margin-bottom: 50px;
         justify-content: center;
     }
     #intro .prestation li .desc {
         font-size: 20px;
         line-height: 25px;
     }
     #intro .prestation .box-img {
         width: 150px;
         height: 100px;
         position: relative;
         margin-bottom: 20px;
     }
     #intro .prestation .box-img img{
         width: 100px !important;
     }
     #intro .prestation li {
         width: 250px;
         height: 250px;
         margin: .5rem 0;
     }
     #intro .content .btn-custom {
         margin-right: 0;
     }
     #services .liste-services {
         margin-top: 30px;
         flex-wrap: wrap;
     }
     #services .liste-services li{
         width: 50%;
         margin-bottom: 15px;
     }
     #services .liste-services li .titre{
         font-size: 15px;
         margin-bottom: 10px;
     }
     #services {
         margin-bottom: 80px;
     }
     #realisation .row > div {
         padding-right: 15px;
     }
     #realisation .box-realisation {
         margin-bottom: 50px;
     }
     #realisation .content {
         flex-direction: column-reverse;
     }
     #realisation .content .box-img {
         width: 100%;
         height: 200px;
         min-height: 200px;
         position: relative;
         margin-bottom: 1rem;
     }
     #realisation .content .box {
         width: 100%;
         padding-right: 0;
     }
     #realisation .titre-bottom{
         font-size: 15px;
         padding: 10px 0;
     }
     #realisation .row > div:nth-child(2n) {
         padding-right: 15px;
         padding-left: 15px;
     }
     #realisation .content .box .titre{
         margin-bottom: 10px;
     }
     #partenaire .liste-partenaire .slick-slide{
         height: 200px;
         padding:10px;
         border-right: none;
     }
     #partenaire .liste-partenaire .slick-slide img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    body .rplg .rplg-badge-fixed {
        position: fixed!important;
        right: 20px!important;
        bottom: 20px!important;
        max-width: none!important;
        z-index: 2147482999!important;
    }
     #partenaire .liste-partenaire {
         margin-top: 1rem;
         height: 200px;
     }
     #partenaire {
         margin-bottom: 50px;
     }
     #actus .listing-actus{
         flex-wrap: wrap;
     }
     #actus .listing-actus li,
	 .page-template-actualites #actus .listing-actus li{
         width: 100%;
         margin-bottom: 1rem
     }
     footer .infos{
         flex-wrap: wrap;
         justify-content: center;
         margin-bottom: 15px;
     }
     footer .infos .phone img, footer .infos .loca img{
         width: 40px !important;
     }
     footer .infos li{
         margin: 10px 0;
     }
     footer .menu-footer{
         flex-wrap: wrap;
     }
     footer .infos li:nth-child(1){
        font-size: 22px;
        line-height: 30px;
        padding-right: .8rem;
     }
     footer .infos li:nth-child(2){
         padding-left: .8rem;
     }
     footer{
         padding: 25px 0 10px 0;
     }
     footer .infos li{
         margin-right: 0 !important;
     }
     #maps .titre span::before{
          left: -10px;
     }
     #realisation .content.carousel .box-img .slick-dots {
         margin-top: 10px;
     }
     #realisation .content .box .titre br{
         display: none;
     }
     #box-intro .container {
         padding: 0 1rem;
     }
     #maps-interne .content .side-left,#maps-interne .content .carte,#maps-interne .content .side-right{
         width: 100%;
     }
     #maps-interne .content{
         flex-wrap: wrap;
     }
     #maps-interne .menu-side li {
         margin-bottom: 25px;
     }
     .breadcrumb {
        padding: 0 15px !important;
    }
	
	#menu-genie, #menu-menu-principal, .subnav.nodesktop{margin:auto;width: 250px;}
	.subnav.nodesktop li{list-style-type:none;position:relative;}
	#menu-genie ul.sub-menu, #menu-menu-principal ul.sub-menu{ display: none; position: relative; /* top: 20px; */ }
	#menu-genie ul.sub-menu ul.sub-menu, #menu-menu-principal ul.sub-menu ul.sub-menu{left:auto;}
	#menu-genie ul.sub-menu ul.sub-menu li, #menu-menu-principal ul.sub-menu ul.sub-menu li{padding-top:7px;padding-bottom: 0;}
	/*header .navbar-expand-xl .navbar-nav ul.sub-menu ul.sub-menu li:nth-child(1) a::after,
	header .navbar-expand-xl .navbar-nav ul.sub-menu ul.sub-menu li:nth-child(2) a::after,
	header .navbar-expand-xl .navbar-nav ul.sub-menu ul.sub-menu li:nth-child(3) a::after,
	header .navbar-expand-xl .navbar-nav ul.sub-menu ul.sub-menu li:nth-child(4) a::after,
	header .navbar-expand-xl .navbar-nav ul.sub-menu ul.sub-menu li:nth-child(5) a::after{border-bottom-style:dashed!important;}*/
	
 }
@media (min-width: 768px) and (max-width: 1024px)  {
       #maps-interne .content .side-left,#maps-interne .content .side-right{
         width: 50%;
     }
     #maps-interne .content{
         flex-wrap: wrap;
         justify-content: center;
     }
     #maps-interne .content .carte{
         width: 100%;
     }
     #intro .prestation li {
        margin: .5rem;
    }
    #actus .listing-actus li,
	.page-template-actualites #actus .listing-actus li{
        width: 49%;
    }
    footer .infos li{
        margin: 0 .5rem !important;
    }
    #realisation .content .box {
        min-height: 254px;
        }
}
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
    #realisation .blue .content .box .titre {
        color: #3eb1e6;
        min-height: 50px;
    }
    #intro h1 span::before, #services .titres span::before,#maps .titre span::before {
         left: -20px;
     }
     #intro .prestation li {
         margin: .5rem;
     }
     #actus .listing-actus li,
	 .page-template-actualites #actus .listing-actus li{
         width: 32%
     }
     footer .infos li{
         margin: 0 1rem !important;
     }
      #maps-interne .content .side-left,#maps-interne .content .side-right{
         width: 50%;
     }
     #maps-interne .content{
         flex-wrap: wrap;
         justify-content: center;
     }
     #maps-interne .content .carte{
         width: 100%;
     }
     #gallerie .slider-for .slick-slide {
         height: 400px;
     }
 }

  @media only screen and  (max-width: 380px) {
 a.navbar-brand {
    margin-top: 20px;
}
#intro h1 span::before, #services .titres span::before, #box-intro .titre span::before {
    top: -30px;
    left: 13px;
    width: 35px;
    height: 56px;
}
}

 @media only screen and (min-width: 481px) and (max-width: 767px) {
     #intro h1 span::before, #services .titres span::before {
         left: -20px;
     }
     #intro .prestation li{
         margin: .5rem;
     }
     #actus .listing-actus li,
	 .page-template-actualites #actus .listing-actus li{
         width: 48%;
     }
     #maps .titre span::before {
         left: -20px;
     }
     footer .infos li{
         margin: 0 1rem 0 0 !important;
     }
 }

@media only screen and (max-width: 767px){
	form.wpcf7-form .cont-form .contL, form.wpcf7-form .cont-form .contR{ width: 100%; }
}