@media(min-width:1201px){
*::before, *::after, a, a span,.btn,.plus, .slickavis .item, .list-partenaire *, .slick-arrow, .sub-menu, .srv, .date-of-post { transition: all ease-in-out 300ms; -webkit-transition: all ease-in-out 300ms; -moz-transition: all ease-in-out 300ms; -ms-transition: all ease-in-out 300ms;}
footer a:hover,.menu-footer ul li a:hover, .top-first a:hover,
.header-nav .menu>li>a:hover { color: #e01c02; }
.header-nav li a:hover::before { opacity: 1; left: 0; }
.btn:hover { background-position:0 0; }
.btn:hover span:after { right: -23px; }
.plus:hover::after { box-shadow: 0 0 0 5px rgba(224,28,2,.3); }
.rs a:hover { background-color: #e01c02; }
.bg-grey .list-partenaire .item:hover { background-color: #fff; }
.list-partenaire .item:hover img { filter: grayscale(0); }
.list-partenaire .item:hover { box-shadow: -10px 20px 40px rgb(0 0 0 / 10%); -webkit-box-shadow: -10px 20px 40px rgb(0 0 0 / 10%); -moz-box-shadow: -10px 20px 40px rgb(0 0 0 / 10%); -ms-box-shadow: -10px 20px 40px rgb(0 0 0 / 10%);}
.appservarrow .slick-arrow:hover { background-image: url('../images/arrow-slick-hover.svg'); background-color: #001233; box-shadow: 0 0 0 6px rgba(0, 18, 51, .1); }
.header-nav li:hover .sub-menu { opacity:1; visibility:visible; z-index:999; }
.sub-menu li a:hover { background-color: #001233; }
.header-nav .sub-menu li.current-menu-item a { background:#001233; }
.srv:hover .photo-bloc::after { width: 30%; }
.srv a:hover { color: var(--red);}
.srv a:hover::before { filter: invert(17%) sepia(81%) saturate(4520%) hue-rotate(7deg) brightness(91%) contrast(105%); right: 25px;}
.single .art-heading a:hover,
.actus-list .mdt-item h3 a:hover,
.breadcrumbs a:hover { color: var(--red);}
.mdt-item:hover .photo-bloc::after { width: 30%;}
.mdt-item:hover .date-of-post,
.art-small:hover .date-of-post { background-color: var(--red);}
.mdt-item:hover h3 a { color: var(--red);}
.pagination .wp-pagenavi a:hover { background-color: var(--blue); color: white; box-shadow: 0 0 0 5px rgb(0 18 51 / 30%);}
.contact-infos .contacts .rs a:hover { color: white; box-shadow: 0 0 0 5px rgb(0 18 51 / 30%);}
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .previouspostslink:hover { background-image: url('../images/arrow-slick-hover.svg')}
.contact-infos .contacts a:hover { color: var(--red);}
.lang-select a:hover { border-color: var(--red); color: var(--red);}
}
@media(max-width:1400px){
.logo-menu, .top-first { padding-left: 40px; padding-right: 40px; }
.header-nav .menu>li>a { padding-right: 10px; }
}

@media(max-width: 1200px){
.logo-menu{ position: relative; padding-top: 20px; padding-bottom: 20px; }
.top-first { position: relative; z-index: 100; }
.custom-logo-link img { display: block; height: 40px; width: auto; }
header .custom-logo-link { z-index: 105; }
#menuMobile { width:80px; height:80px; background:#e21e27; display:inline-block; vertical-align:middle; cursor:pointer; position:absolute; right: 0; top: 0; z-index: 105; }
#menuMobile div { width:30px; height:2px; background:#fff; position:absolute; right:50%; top:50%; margin:-1px -15px 0 0; transition: all ease-in-out 300ms; }
#menuMobile div:before { width:100%; height:2px; background:#fff; position:absolute; right:0; top:8px; content:""; transition: all ease-in-out 300ms; }
#menuMobile div:after { width:100%; height:2px; background:#fff; position:absolute; right:0; top:-8px; content:""; transition: all ease-in-out 300ms; }
#menuMobile.active div { height:0; }
#menuMobile.active div:before{ top:0; transform:rotate(45deg);}
#menuMobile.active div:after{ top:0; transform:rotate(-45deg);}
.header-nav{ width:100vw; height:100vh; border-top:125px solid #fff; position:fixed; top:0; left: 0; overflow-y:scroll; z-index:90; transition:all ease-in-out 400ms; opacity: 0; visibility: hidden; background: #000000; padding-right: 0; }
.header-nav::-webkit-scrollbar{ display:none; }
.header-nav .menu { width:100%; text-align:left; padding: 0 5vw; opacity:0; transition:opacity 400ms ease-in-out 400ms; margin-top: 50px; }
.header-nav .menu li{ width:100%; display:block; margin:0; }
.header-nav .menu>li>a{ line-height: 55px; height:auto; color:#fff; padding: 0; }
.header-nav .menu li a:after, .header-nav .menu li a:before { display: none; }
.header-nav.active{ opacity: 1; visibility: visible; }
.header-nav.active .menu{ opacity:1; transform:translateY(0); }
.header-nav .menu li i { width:55px; height:55px; position:absolute; right:0; top:0; background: #001233; }
.header-nav .menu li i:before { content: ''; position: absolute; width: 2px; height: 20px; background-color: #fff; top: 18px; left: 50%; margin-left: -1px; transition: opacity ease-in-out 300ms; } 
.header-nav .menu li i:after { content: ''; position: absolute; width: 20px; height: 2px; background-color: #fff; left: 18px; top: 50%; margin-top: -1px; }
.header-nav .menu li i.active::before { opacity:0; }
.header-nav .menu .sub-menu { width:auto; visibility:visible; position:relative; left:auto; top:auto; padding:25px 0; margin:15px 0; opacity:1; background:#001233; display:none;}
.header-nav .menu .sub-menu li a { font-size:16px; line-height:40px; background:none; text-align:left; height: initial; }
.header-nav .menu .sub-menu li.current-menu-item a { background:none; color:#e21e27;}

.list-partenaire { gap: 20px; }
.list-partenaire .item { background-color: #fff; }
.list-partenaire .item img { filter: grayscale(0); flex: 1; }
.half.texte { gap: 40px; }
.lang-select {
    right: 108px;
    top: 25px;
}
}
@media(max-width: 960px){	
.partenaire, .avis-client {padding-bottom: 180px;}
.list-partenaire .item { height: auto}
.list-partenaire .item img { width: 100%; flex: 1; height: auto; }
#page .banner::after { width: 40%;}
.cst-section { margin: 50px 0; }
.phototexte .photo { padding-right: 40px; }
.partenaire .d-grid { display: block; }
.partenaire .left { padding: 0 0 20px; }
.menu-footer { display: none; }
h2 { margin-top: 0; }
.icon-list { padding-left: 0;}
#voir-egalement .photo-bloc {flex: 0 0 50%; margin-right: 25px;}
#voir-egalement { padding-bottom: 204px; }
.cl-33 { flex: 0 0 50%; max-width: 50%;}
.single .breadcrumbs { margin-bottom: 40px;}
.single-content .d-flex { display: block;}
.single-content .left { padding-right: 0;}
.single-content .sidebar { max-width: 100%;padding-top: 40px; }
.sidebar .bandeau { max-width: 100%; padding: 30px 0 50px; }
.single-content .sidebar .bandeau .btn { margin-top: 0; }
.top-articles { margin-top: 0;padding-top: 40px;padding-bottom: 30px;}
.single-content { padding-bottom: 0; }
.art-small:last-of-type { border-bottom: none; }
.related { padding-top: 50px; padding-bottom: 180px;}
.related .actus-list { padding-top: 16px;}
.related .media-text-layout { margin: 40px -20px 0; }
.related .media-text-layout .media-text-item { padding: 20px;}

.contact-page { padding: 54px 0 180px; }
.contact-page .d-flex { display: block;}
.contact-page h1 { text-align: center;}
/*.contact-page .wrapper { max-width: 620px;}*/
.contact-page .cl-6 { max-width: 100%; padding-left: 0;}
.contact-infos { margin-top: 35px;}
.contact-infos .wrap { display: flex; max-width: 100%; flex-flow: row wrap;}
.contact-infos .wrap .title { flex: 0 0 100%;}
.contact-infos .contacts { padding-left: 0; padding-right: 40px; flex: 0 0 50%; max-width: 50%;}
.contact-infos .map { margin-top: 0; box-shadow: 0 0 50px rgb(0 0 37 / 15%);flex: 0 0 50%; max-width: 50%}
.contact-infos .map img { width: 100%; height: 100%; object-fit: cover; object-position: center;}

.home .phototexte { align-items: normal;}
}
@media (max-width:800px) {
.breadcrumbs { margin-bottom: 30px; }
.banner .featured { margin-top: 40px; }
.cst-pad-section { padding: 50px 0; }
#page .banner { padding: 50px 0;}
.cst-section { margin: 50px 0; }
	.bg-grey.cst-section { padding: 50px 0 }
h1,
.entry-header h1,
.contact-page h1 { font-size: 35px; line-height: 45px; }
h2, .title { font-size: 28px; line-height: 36px; padding-left: 0; }
h2::before, .title::before { top: initial; bottom: -20px; }
h3, .subtitle { font-size: 20px; line-height: 28px; }
.banner .content h1::after { bottom: -20px; right: initial; left: 0; }
.atout .item img { height: 60px; }
.atout .subtitle strong, .count { font-size: 40px; line-height: 55px; }
.custom-photo .photo { position: relative; width: 100%; }
.custom-photo .texte { width: 100%; padding: 30px 0; left: 0; }
.custom-photo .texte .plus { margin-top: 0; }
.custom-photo .photo::after { display: none; }
.services { padding-top: 40px; }
.services .left { margin-bottom: 5px; }
.count { margin-bottom: 40px; }
.count::after { margin-top: 20px; }
.services .bg-bleu { background: linear-gradient(to bottom, #fff 0%, #fff 75px, #001233 75px, #001233 100%); padding-bottom: 40px; }
.phototexte { display: block; margin: 50px 0; }
.home .phototexte,
.home .phototexte.reverse { display: block}
.phototexte .photo { padding-right: 0; margin-bottom: 30px; }
.phototexte .photo img { height: 400px; }
.phototexte.reverse .photo { padding-left: 0; }
.partenaire,
.avis-client { padding-top: 40px; padding-bottom: 140px; }
.half.texte { padding-bottom: 40px; }
.carriere li { font-size: 16px; padding-left: 60px; }
.slickavis .item { padding: 0; }
.slickavis .item .card { padding: 40px !important; }
.avis-client .title { margin-bottom: 30px; }
.avis-client::before { width: 46px; height: 40px; border-radius: 0; margin: 0 auto 10px; background-color: transparent; }
.top-first .left { display: grid; }
.header-nav { border-top-width: 158px; }
.bandeau { padding: 45px 0 50px; }
.slickavis { height: inherit; }
.appavisarrow { display: flex; flex-flow: row wrap; width: 114px;  margin: 30px auto; position: relative; z-index: 50; }
.phototexte + .fulltext { margin-bottom: 50px; }
.d-flex.media-text-layout { margin: 0 -20px 0; }
.media-text-layout .media-text-item { padding: 0 25px; }
.media-text-layout.h-direction .media-text-item { padding: 20px; }
#child-area { padding-bottom: 200px }
.photo-bloc { margin-bottom: 30px; }
.pad-section { padding: 50px 0; }
.single .featured-image { margin-top: 50px;}
.related { padding-bottom: 180px;}
.top-articles {padding-top: 35px;}
.featured-image .photo-bloc img { min-height: 260px; object-fit: cover;}
.contact-page { padding: 40px 0 180px; }
.contact-page .d-flex { margin-top: 25px; }
#child-area .d-flex.media-text-layout { margin: 20px -25px -10px; }
#child-area .photo-bloc img { min-height: 320px;}
main#homepage { padding-bottom: 160px;}
}
@media (max-width:700px) { 
.footer-last { padding: 20px 0; }
.footer-last .wrapper { display: block}
.utile { display: block; margin-bottom: 30px; }
.menu-last { padding: 10px 0 0; margin-left: -20px; }
}
@media (max-width:600px) {
.list-partenaire { grid-template-columns: 1fr 1fr;}
.wrapper { width: 85vw; }
.banner .content { padding: 50px 0; background-color: rgba(0,0,0,.5); }
#homepage .banner .before-title, #homepage .banner h1 { color: #fff; }
.banner .btn { margin-top: 60px; }
.banner::after { display: none; }
.atout { margin: 50px 0; }
.half.texte { display: block; }
.carriere { margin-top: 30px; }
.slickavis .item .card { padding-left: 20px; padding-right: 20px; }
footer .wrapper { max-width: 320px; }
footer .bloc-left { margin: 0 ; }
footer .rs { justify-content: flex-start; text-align: left; }
footer .rs .subtitle { margin-bottom: 10px; }
.rs .facebook { margin-left: 0; }
.menu-last { padding:10px 0 0; margin-left:0; justify-content: center;}
.menu-last li { padding: 0 10px; }
.menu-last li:first-child { padding-left: 0; }
.menu-last li:last-child { padding-right: 0; }
.menu-last li a { font-size: 13px; }
.slickavis .item .card { padding: 30px 20px 50px !important; }
.header-nav .sub-menu li a { padding: 0 20px; }
.logo-menu, .top-first { padding-left: 20px; padding-right: 20px; }

#page .banner::after { width: 80%;}
.media-text-layout.h-direction .mdt-item { display: block; }
#voir-egalement .photo-bloc { flex: 0 0 50%; margin-right: 0; margin-bottom: 24px; max-width: inherit;}
#voir-egalement,
#child-area { padding-bottom: 180px; text-align: left;}
#child-area .d-flex.media-text-layout { margin: 20px 0 -10px;}
#page.page-nv3 .banner .featured { margin-top: 40px; }
.d-flex.media-text-layout { display: block; margin: 25px 0 0;}
.related .media-text-layout { margin-top: 40px;}
.cl-6 { max-width: 100%; flex: 0 0 100% }
.media-text-layout .media-text-item { padding: 0; margin-bottom: 30px; }
.media-text-layout.h-direction .media-text-item { padding: 0;margin-bottom: 25px;}
.actus-list .media-text-layout .media-text-item { margin-bottom: 50px;}
.related .media-text-layout .media-text-item { padding: 0;}
.media-text-layout .media-text-item:last-of-type { margin-bottom: 0 }
.mdt-item .photo-bloc { margin-bottom: 26px;}
#subsrv .d-flex { display: block; }
#subsrv .appservarrow { text-align: left;}
#page .banner { text-align: left; }
#page .banner h1 {font-size: 35px;}
.icon-list li::before { top: 4px;}
.cl-33 { flex: 0 0 100%; max-width: 100%;}
.texte > ul:not(.icon-list) { padding-left: 20px;}
#page .banner h1 + * { margin-top: 14px; }
.breadcrumbs { margin-bottom: 14px; }
.banner .featured {margin-top: 30px;}
.cst-section { margin: 35px 0; }
	.bg-grey.cst-section { padding:35px 0 }
.cst-pad-section { padding: 35px 0;}
.pad-section { padding: 35px 0; }
.actus-list { margin-top: 50px;}
.contact-page h1 { text-align: left;}
.form-footer {padding: 0;}
.form-contact form { padding: 25px; }
.contact-infos .wrap { display: block;}
.contact-page .cl-6 { display: block;}
.contact-infos .contacts { padding-right: 0; max-width: 100%;}
.contact-infos .map { max-width: 100%; margin-top: 35px;}
.related { padding-bottom: 180px; }
.contact-infos .contacts .adresse { padding-left: 30px; background: url(../images/localisation-dark.svg) no-repeat top 5px left; padding-top: 0; }
.contact-infos .contacts .tel { background: url(../images/phone-dark.svg) no-repeat top 5px left; padding-top: 0; padding-left: 30px; }
.contact-infos .contacts .email { background: url(../images/email-dark.svg) no-repeat top 7px left; padding-top: 0; padding-left: 30px; }
.contact-infos .contacts .rs { margin-top: 35px; }
.no-subservices + .bandeau { padding-bottom: 180px;}
.atout { display: block; margin: 30px 0; }
.atout .item { display: grid; grid-template-columns: 50px 1fr; gap: 20px; align-items: center; text-align: left; padding: 20px 0; }
.atout .item:nth-child(2)::before { width: 100%; height: 1px; top: 0; }
.atout .item:nth-child(2)::after { width: 100%; height: 1px; bottom: 0; }
.atout .subtitle strong { font-size: 25px; line-height: 25px; }
.atout .item img { margin-bottom: 0; }	
.appservarrow { position: absolute; bottom: -40px; right: 0; z-index: 50; }
	.bg-grey.cst-section .appservarrow { position: static }
.appservarrow .slick-arrow, .appavisarrow .slick-arrow { width: 30px; height: 30px; }
.appservarrow .slick-prev, .appavisarrow .slick-arrow { margin-right: 10px; }
.bank-layout { display: block}
.bank-layout .bank-logo { display: block; padding: 8px 0; margin-right: 0; min-width: inherit; margin-bottom: 30px; }
}
@media (max-width:480px){
#page .banner h1,
h1,
.contact-page h1 { font-size: 28px; line-height: normal; }
h2, .title {font-size: 22px; line-height: 30px;}
h3, .subtitle { font-size: 18px; line-height: 26px; }
.before-title { font-size: 14px; line-height: 20px;}
/* mobile typographie */
.btn.fullwidth { margin-top: 0; padding: 13px 20px 11px; }
.btn.fullwidth span { padding: 0; }
.btn.fullwidth span::after { display: none; }
.list-partenaire { grid-template-columns: 1fr 1fr; }
.top-first .right { display: none; }
.bandeau h2 { font-size: 22px; line-height: 30px; }
.appavisarrow { width: 80px; }
.form-footer .btn { padding: 20px 18px; font-size: 12px; width: 100%; margin-top: 10px; }
.form-footer .btn span { padding-right: 35px;}
.partenaire .left { padding: 0; }
#page .banner { padding: 50px 0 40px; }
.phototexte + .fulltext { margin-bottom: 45px; }
}