@media(min-width:1161px) {
	.nav-menu { display: block !important; }
	a, .btn, .sub-menu,*:before,*:after, .conteneur .texte, .sub-menu li,.conteneur, .conteneur *, .btn, svg, button, .bloc-33 .item, .bloc-33 .item .card img, .accordeon-title, .accordeon-title span, .conteneur img, svg { transition: all ease-in-out 0.3s }
	.banner:after { transition: all ease-in-out 1s 1s;  }
	.banner:before { transition: all ease-in-out 1s;  }
	.nav-menu>ul>li.current-menu-item>a::after, .nav-menu>ul>li.current-page-ancestor>a::after, .nav-menu>ul>li>a:hover::after { width: 100%; }
	.nav-menu>ul>li.current-menu-item>a,.nav-menu>ul>li.current-page-ancestor>a, .nav-menu>ul>li>a:hover, .voir-plus:hover,h3 a:hover, .parentf ul li a:hover { color: #f9812a; }
	#menu>li:hover>.sub-menu { opacity: 1; visibility: visible; max-height: 500px; padding: 16px 40px; }
	.sub-menu a:hover { color: #f9812a }
	.btn.cta:hover { box-shadow: inset 0 0 0 0 #1f4488; color: #1f4488 }
	.voir-plus:hover svg { fill: #f9812a; right: 10px }
	button:hover, .reseau-sociau .totop:hover, .accordeon-title:hover span { background-color: #f9812a; border: 0; }
	.reseau-sociau .totop:hover svg { fill: #fff; }
	.reseau-sociau a:not(.totop):hover svg { fill: #f9812a }
	.bloc-page .bloc-33 .item:hover { padding-top: 0; padding-bottom: 0; min-height: 506px }
	.bloc-page .bloc-33 .item:hover .card img { height: 257px; }
	.bloc-page .bloc-33 .item:hover h3 a { color: #f9812a }
	.bloc-page .bloc-33 .item:hover .voir-plus { color: #f9812a; }
	.bloc-page .bloc-33 .item:hover .voir-plus svg { fill: #f9812a; right: 10px }
	.list-marque .item a:hover { box-shadow: 0 20px 30px rgba(0,0,0,.08); }
	.boutton:hover { box-shadow: inset -196px 0 0 0 #1f4488; color: #fff; background-position: left+20px center; }
	.boutton.enpl:hover { box-shadow: inset -300px 0 0 0 #1f4488; }
	.bloc-realisation .item > a:hover:before, .lister-image .image a:hover:before { opacity: .5; }
	.accordeon-title:hover { background-color: #20232a; color: #fff; }
	.banner:after { transform: scale(0); }
	.banner:before { right:0; opacity: 0; }
	.banner.animation:after { transform: scale(1); }
	.banner.animation:before { right:calc(50% - 600px); opacity: 1; }
	.conteneur .caption .btn:hover { animation: scale linear 1.5s infinite alternate; }
	.conteneur .image:hover img { filter: grayscale(0); }
	.conteneur:not(.slick-current) .image:hover .caption { opacity:1; visibility: visible; transform: scale(0.9); }
	.conteneur:not(.slick-current) .image .caption p { margin-bottom: 0 }
	.conteneur:not(.slick-current) .image .caption .btn { position: absolute; bottom: 40px; }
	.propr .btn svg:hover { fill: #000 }
	.bloc-page-activite.margeinterne { padding-bottom: 80px }
	.bloc-page-activite.margeinterne .conteneur { padding: 0 10px }
	.bloc-page-activite.margeinterne .conteneur .caption { opacity:1; visibility: visible; transform: scale(1) }
	.bloc-page-activite.margeinterne .conteneur.slick-current:hover .caption { transform: scale(.8) }
	.slicktracktranslate .conteneur { width: 390px }
	.produit .conteneur .image:hover .caption { transform: scale(1); }
	.modal button:hover { border: 1px solid #f9812a; color: #fff }
	.rappel:hover { background-color: #f9812a }
	.nonedesk { display: none !important; }
}
@keyframes scale {
	0% { transform: scale(1) }
	50% { transform: scale(.5) }
	100% { transform: scale(1); }
}
@media (min-width: 1250px){
	.slicktracktranslate .slick-track { transform: initial !important; }
}

@media (max-width: 1450px){
	header { padding: 0 40px; }
}
@media (max-width: 1366px){
	.nav-menu>ul>li { padding: 20px; }
	.nav-menu>ul>li>a { font: normal 16px/77px robb; }
}
@media(max-width:1160px) {
	.custom-logo-link { margin: 10px 0; }
	.menuMobile { cursor:pointer; position: relative; z-index:140; width: 92px; height: 92px; background-color: #f9812a; right: -40px;}
	.menuMobile div { width:20px; height:2px; background:#fff; position:absolute; right:0; left:0; top:50%; margin:-1px auto 0;}
	.menuMobile div:before { width:100%; height:2px; background:#fff; position:absolute; right:0; top:6px; content:"";transition:all ease-in-out 0.3s;-moz-transition:all ease-in-out 0.3s;-webkit-transition:all ease-in-out 0.3s;}
	.menuMobile div:after { width:100%; height:2px; background:#fff; position:absolute; right:0; top:-6px; content:"";transition:all ease-in-out 0.3s;-moz-transition:all ease-in-out 0.3s;-webkit-transition:all ease-in-out 0.3s;}
	.menuMobile.active div { height:0;transition:all ease-in-out 0.3s;-moz-transition:all ease-in-out 0.3s;-webkit-transition:all ease-in-out 0.3s;}
	.menuMobile.active div:before { top:0; transform:rotate(45deg);}
	.menuMobile.active div:after { top:0; transform:rotate(-45deg);}
	.nav-menu { display: none; position:absolute; width: 100%; padding:0; left: 0; text-align:left; top:92px; background-color: #fafafa; z-index:1}
	/*.nav-menu.afficher { display: block; opacity: 1; visibility: visible; }*/
	.class_remove { visibility: hidden; }
	.nav-menu.afficher .class_remove { position: absolute; top:-100px; bottom:-10000px; right:-40px; left:-40px; z-index:4; visibility: visible; }
	.nav-menu:after { content:""; display:block; position:absolute; left:0; right:0; top:100%; height:10000px; background:#000; opacity:0.9;}
	#menu { width: 100%; position: relative; z-index: 9; display: block; }
	.nav-menu>ul>li::after { display: none }
	.nav-menu>ul>li { padding: 0; border-top: 1px solid #e8e8e8 }
	.nav-menu>ul>li a { display: block; width: 100%; padding: 0 40px; line-height: 60px; }
	.nav-menu>ul>li.current-menu-item>a, .nav-menu>ul>li.current-page-ancestor>a { background-color: #f9812a; color: #fff; }
	.nav-menu li i { position: absolute; top: 0; right: 0; width: 90px; bottom: 0; transition: 300ms all ease-in-out; }
	.nav-menu li i::before { content: ''; position: absolute; width: 20px; height: 2px; border-radius: 1px; background-color: #013c65; transition: 300ms all ease-in-out; top: 30px; right: 40px; }
	.nav-menu li i::after { content: ''; position: absolute; width: 2px; height: 20px; border-radius: 1px; background-color: #013c65; transition: 300ms all ease-in-out; top: 21px; right: 49px; }
	.nav-menu li i.active::before, .nav-menu li i.active::after { transform: rotate(45deg); }
	.sub-menu { position: static; visibility: visible; opacity: 1; max-height: initial; width: 100%; box-shadow: initial; border-radius: initial; padding: 0; }
	.bloc-ptexte .texte { padding-left: 40px; }
	.bloc-ptexte.sousbanner { margin: 40px 0; }
	.list-activite { width: 100%; padding: 0 40px; left: 0; }
	.nos-activite .texte { position: relative; margin: 0 auto 30px; text-align: center; top: initial; padding: 0; }
	.pagingInfo { right: 40px; bottom: -677px; }
	.bloc-textimg h1, #contact h1 { font: 40px/60px axibl; }
	header { z-index: 99; }
	.banner-page .flex.wrapper { padding-top: 40px; }
	.banner-page .image { margin-top: 40px; }
	.avantage { padding-top: 250px; }
	.listers { margin: -252px -10px 0 }
	.listers .item { padding: 20px 10px; }
	.padbotreduit .conteneur { padding: 0 10px }
	.padbotreduit .caption { opacity: 1; visibility: visible; transform: scale(1) }
	.padbotreduit .conteneur .image img { filter: grayscale(0) }
	.bloc-page-activite.similairessp.margeinterne.slicktracktranslate { padding-bottom: 140px; }
	.conteneur .image img { filter: grayscale(0); }
	.produit .conteneur .image .caption { transform: scale(1); visibility: visible; opacity: 1 }
	.produit .conteneur { padding: 20px 10px }
	.fixed { display: none }
	.fbandeau { padding: 10px 0 }
}
@media(max-width:1024px) {
	.banner:after { right: 40px; }
	.banner { height: 650px; display: flex; align-items: center; }
	.banner .texte { padding-top: 0; }
	.banner:after { top: 30px; transform: scale(0.6); }
	.pagingInfo::before { display: none; }
	.bloc-33 { margin: 0 -10px }
	.bloc-33 .item, .avantage .bloc-33 .item { padding: 10px }
	.bandeau .image::before { width: 221px; }
	.bandeau .texte { padding-left: 40px; }
	.bandeau, .a-propos .critere { padding: 40px 0 }
	.pad, .banner-faq { padding: 40px 0; }
	.pad.similaire { padding-top: 80px; }
	.slick-offre { padding-bottom: 80px; }
	.pagingInfo { bottom: -671px; }
	.bloc-textimg .texte { padding-right: 40px; }
	#contact .bloc-50 .gauche { padding-right: 40px; }
	.droite .parent-form { padding: 40px; }
	.bloc-textimg { padding: 40px 0; }
	.a-propos .bloc-textimg .texte { margin-top: 40px; }
	.a-propos .bloc-textimg .image { height: 300px; margin-bottom: 40px; }
	.a-propos .bloc-textimg .image img { width: 100%; height: 100%; object-fit:cover; }
	.bloc-ptexte.reverse .texte { padding-right: 40px; }
	.withptexte .bloc-ptexte.reverse .texte { padding-right: 0; }
	.bloc-ptexte { margin: 40px 0; }
	.bloc-marque, .bloc-realisation { padding: 90px 0 30px; }
	.list-marque { margin-top: 0; }
	.accordeon { margin: 40px 0 }
	.accordeon .contenu { padding: 30px; }
	.chiffre { padding: 80px 0 20px; }
	.full { padding: 220px 0 40px; }
	.propr { padding: 40px 0 30px; }
	.mainpage { padding: 40px 0 0 ; }
	.bloc-ptexte .texte { padding-right:0 }
	#page .bg-grey.faq { padding: 226px 0 30px }
	.bloc-full { padding: 40px 0; }
	.lister-image { margin-bottom: 40px }
	.banner-actu .mnwrap { padding: 40px 20px 245px }
	.reference .banner-actu .mnwrap { padding-bottom: 145px }
	.similaire { padding: 93px 0 20px }
	.bloc-page-activite.padbotreduit { padding-bottom: 40px }
	.track-width { padding-bottom: 40px !important }
	.a-propos>.bg-grey:first-child { padding-top: 40px }
	.sspage .bloc-textimg { padding-bottom:30px }
	.bloc-page { padding-top: 90px; }
	.similaire-produit { padding: 86px 0 40px }
	.withptexte .bloc-ptexte { padding: 40px 0 }
	.parentf > div:last-child { width: 100%; justify-content: center; margin-top: 30px; }
	.parentf ul { width: calc(100% - 250px); }
	.parentf ul li::after { margin-top: -5px; }
	.banniere-contact.wrapper { padding: 0 40px }
	.grid-list-organigram { grid-template-columns: 1fr 1fr}
	.grid-list-organigram #el-1, .grid-list-organigram #el-2 { transform: inherit; }
}
@media(max-width:960px) {
	.banner-page { background: #f4f4f4 }
	.banniere-contact > div { width: 100%; }
	.banniere-contact .left { padding-right: 0; margin-bottom: 30px; }
	.banniere-contact .right { padding: 0; }
	.list-marque .item { width: 50%; padding: 15px; }
	.banner-page h1 { width: 100%; font: 40px/60px axibl; margin-bottom: 20px; }
	.banner-page .texte { width: 100%; padding-left: 0; }
	.avantage .bloc-33 .item { width: 50%; }
	.bloc-realisation .flex { margin: 0 -10px; }
	.bloc-realisation .item { padding: 10px; }
	.listers .item { width: 50%; }
	.lister-image .image { width: 33.33%; }
	.produit .conteneur { width: 50%; }
}
@media(max-width:800px) {
	.slick-offre { padding-bottom: 77px; }
	.pagingInfo { bottom: -670px; }
	.slick-prev { left: 0; }
	.slick-next { left: 45px; }
	.bloc-33 .item { width: 50%; }
	.bandeau .image::before { display:none; }
	.bandeau .image { width: 100%; opacity: .5; }
	.bandeau .texte { width: 100%; position: relative; z-index: 100; text-align: center; padding: 0 40px; }
	.avantage .title.center{ line-height: 35px; }
	.bloc-textimg { display: block; }
	.bloc-textimg .texte { padding: 0 !important; }
	.bloc-textimg > div { width: 100% !important; }
	.bloc-textimg .image img { width: 100%; }
	#contact .bloc-50 .gauche { width: 100%; padding-right: 0 }
	#contact .droite { width: 100%; margin-top: 40px; }
	.parentf > div { width: 220px; }
	.parentf ul { width: calc(100% - 220px); }
	.parentf ul li { padding: 0 20px; }
	.a-propos .bloc-textimg { display: flex; flex-direction: column-reverse !important; }
	.chiffre .bloc-25 { margin: 0; }
	.bloc-25 .item { width: 50%; padding: 20px 10px; }
	#page .bloc-textimg .texte { margin-bottom: 40px; }
	.withptexte .bloc-ptexte>div { width: 100% }
	.withptexte .bloc-ptexte .image { padding: 0 }
	.withptexte .bloc-ptexte .texte { margin-top: 40px }
	.withptexte .bloc-ptexte.reverse .image { padding: 0 }
	.withptexte .bloc-ptexte .image img { width: 100% }
	.banniere-contact .grid { display: block; }
	.banniere-contact .grid .btn { margin: 20px 0 0 70px  }
}
@media(max-width:760px){
	.deux .slick-arrow { margin-bottom: -70px; }
	.bloc-page-activite.padbotreduit { padding-bottom: 100px }
	.grid-list-organigram { grid-template-columns: 1fr}
	.organigramm-item { max-width: inherit}
}
@media(max-width:640px) {
	.nav-menu li i { width: 60px; }
	.nav-menu li i::before { right: 20px; }
	.nav-menu li i::after { right: 29px; }
	h1 { font: 30px/40px axibl; }
	#page h1 { font: 30px/40px axibl; }
	h2, .title { font: 24px/30px axibl; }
	.title.center:after { top: -50px; }
	.btn { line-height: 40px; }
	.btn.cta { padding: 2px 30px 0; }
	.btn.boutton { padding: 2px 40px 0 65px; background-position: left+35px center; }
	.btn.boutton.enpl { padding: 2px 40px 0; margin-bottom: 0 }
	header, .breadcrumbs, .wrapper, .list-activite { padding-right: 20px; padding-left: 20px; }
	.menuMobile { right: -20px; }
	.nav-menu>ul>li a { padding: 0 20px; }
	.banner { height: 400px; background-position: right bottom; overflow: hidden; }
	.banner .texte { text-align: center; }
	.banner:after { top: -180px; right: -180px; transform: scale(.5); }
	.bloc-ptexte > div { width: 100%; }
	.bloc-ptexte .texte { margin-top: 40px; padding-left: 0; text-align: left; }
	h2::after, .title::after { left: initial; right: -44px; -webkit-transform: scaleX(-1); transform: scaleX(-1); }
	.bloc-33 { margin: 0; display: block; }
	.bloc-33 .item, .avantage .bloc-33 .item { width: 100%; padding: 10px 0; }
	.avantage .bloc-33 .item { padding: 20px 0; }
	.avantage .bloc-33 .item:nth-child(2) { background-color: #fff; margin: 0 -20px; padding: 20px; width: initial; }
	.avantage p { margin-bottom: 0; }
	.avantage h3 { min-height: initial; }
	.pagingInfo { right: 20px; }
	.bandeau { margin: 30px 0; }
	.bandeau .titre { font: 20px/30px axihitalic; }
	.bandeau .texte { padding: 0 20px; }
	.bloc-33 .card .texte { padding: 25px 20px; }
	.bloc-ptexte.reverse .texte { padding-right: 0; }
	.texte h2::after { right: 0; }
	.texte h2, h2, .title { margin-bottom: 20px; padding-right: 20px; }
	.title.center { padding: 0; }
	.parentf > *  { width: 100% !important; }
	.parentf .info { margin-bottom: 20px; text-align: center; }
	.droite .parent-form { padding: 40px 20px; }
	.avantage { padding-bottom: 20px; }
	.avantage .title.center{ margin-bottom: 10px; }
	.bloc-page-activite .min-wrap { margin: 0 auto 35px; }
	.bloc-page-activite { padding: 90px 0 120px; }
	.bloc-page-activite button { margin-bottom: -80px; }
	#page .bg-grey.bloc-marque { padding-top: 250px; }
	.listers .item { width: 100%; }
	.banner-actu .mnwrap { padding-bottom: 225px; padding-top: 40px; }
	.banner-actu h1 { margin-bottom: 10px; }
	.wp-pagenavi { margin: 14px 0 40px; }
	.accordeon-title { padding: 21px 56px 19px 20px; font-size: 18px; }
	.accordeon-title span { right:20px }
	.accordeon .contenu { padding: 20px; }
	.a-propos h2::after, .a-propos .title::after { right:0; transform: none; top:-50px }
	.propr .btn { margin: 10px; }
	.lister-image .image { width: 50%; }
	.lister-image .flex { padding-right: 14px; padding-left: 14px; }
	.reference .banner-actu .mnwrap { padding-bottom: 140px; }
	.partage { padding: 20px; }
	.nos-activite { padding-top: 60px }
	.nos-activite .title { padding-right: 0 }
	.mention h1 { margin-bottom: 20px }
	.mention .bg-grey { padding: 40px 0 }
	.droite .parent-form .right { margin-top: 20px }
	#contact h1 { margin-bottom: 20px }
	#contact { margin-top: 0 }
	#contact { padding-top: 40px; background: #f4f4f4 }
	.slick-page-activite { margin: 0 -10px }
	.conteneur .caption { top: 20px; bottom: 20px; left:15px; right:15px }
	.produit .conteneur { width: 100% }
	.produit .conteneur .caption { top: initial; bottom:0;right:0;left:0; }
	.last-foot { text-align: center; padding-bottom: 20px }
	.parentf .info { justify-content: center }
	.banniere-contact.wrapper { padding: 0 20px; text-align: center }
	.banniere-contact.wrapper .btn { margin: 10px 0 0; }
	.banniere-contact .grid div { background: none; padding: 0 }
	.banniere-contact .bantel { margin-bottom: 20px }
	.banniere-pad { padding: 40px 0 }
}
@media(max-width:600px){
	.wp-block-media-text__media { margin-bottom: 30px !important; grid-row: 1 !important; }
	.wp-block-media-text__content { padding: 0 !important; grid-row: 2 !important; }

}
@media(max-width:500px) {
	.btn.boutton { margin: 0 30px 20px }
}
@media(max-width:480px) {
	.detail h1 { font: 26px/34px axibl; }
	.detail h2 { font: 22px/30px axibl; }
	.detail h3 { font: 18px/30px axibl; }
	.banner .texte h1 { margin-bottom: 30px; }
	.btn.boutton { margin: 0 0 20px }
	.banniere-contact .left, #contact .gauche .ban-mail, #contact .gauche .ban-tel, .adresse { background-size: 50px !important; padding: 0 ! important; padding-left:70px !important }
	#contact .adresse { background-size: 38px !important; }
	#contact .gauche .ban-tel, #contact .gauche .ban-mail, #contact .adresse { background-position: left center }
	.list-marque .item { width: 100%; }
	.list-marque .item a { height: 130px; padding: 40px 0; }
	.list-marque .item img { max-height: 70px }
	.list-marque .item:nth-child(3) img { max-width: 80% }
	.texte ul, .detail ul { margin-left: 20px; }
	.a-propos .bloc-textimg { margin: 0; }
	.texte h2:after { display: none; }
	.parentf ul li { padding: 0 9px; }
	.droite .parent-form button { padding: 0 30px; }
	.parentf ul li::after { display: none }
	#contact .map { margin-top: 40px }
	.bloc-full { padding: 40px 0 }
	.breadcrumbs a::after { margin: 0 10px }
	.a-propos .bloc-textimg .texte { margin-top:0 }
	.full { padding: 170px 0 40px }
	.droite .parent-form .right { margin-top: 30px; margin-bottom: 0; }
	.conteneur .caption h3 { font: 18px/24px axibl }
	.fbandeau .flex { display: block; }
	.fbandeau .wrapper > * { margin: 0 }
	footer .fondnoir { padding: 40px 0 }
	.fbandeau .wrapper .rappel { display: inline-block; margin-top: 20px }
	.modal { padding:40px 20px; }
}
@media(max-width:400px){
	.propr { margin: 0 -20px; padding: 20px 0 10px; }
	.propr .item { width: 100%; max-width: 100%; padding: 20px; padding-bottom: 0; }
	.propr .item:last-child { padding-bottom: 10px; }
	.social a { margin-left: 10px; }
	.banner:after {top:0;right: 0; }
	.banner-page { text-align: center }
	.conteneur .image p { margin-bottom: 15px }
	.banniere-contact >div, #contact .gauche .ban-mail, #contact .gauche .ban-tel, #contact .adresse { font: 15px/22px robreg; }
	#contact .gauche .ban-tel,
	#contact .adresse { padding-top: 10px !important; padding-bottom: 10px !important }
	#contact .adresse span { font-family: robb; }
}
@media(max-width:360px){
	.progress { width: 120px; height: 120px; }
	.partage { flex-direction: column; }
	.partage .label { margin-bottom: 20px; }
	.social a { margin: 0 10px; }
	.conteneur { height: 590px }
	.conteneur .caption h3:after { display: none }
}