:root{
  --font-primary: "univers-next-pro" !important;
  --font-secondary: "univers-next-pro" !important;
  --font-sec: "univers-next-pro-extended" !important;
}

body { font-size: 20px; }
@media (max-width:767px){
  body { font-size: 15px; }
}
@media (min-width:1700px){
  body { font-size: 25px; }
}

.font-primary{ font-family:var(--font-primary)}
.font-secondary{ font-family:"univers-next-pro-extended" }

p {
  line-height: 1.3em;
  max-width:1050px
}
p.full {
  max-width:100%
}

.mark, mark {
    padding: 0;
}

.format-portrait {
  padding-bottom: 140%;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  text-transform: uppercase; max-width: 100%;
}

[type=button], [type=reset], [type=submit], button {
  padding: 12px 15px;
  border-radius: 5px;
}

.nk-awb-fullheight { min-height: calc(100vh - 83px); }

@media (max-width:1199px){
  .front .p-0{ padding-left: 0 !important; padding-right:0 !important;}
}
@media (max-width:767px){
  .front .no-br br{  display: none !important }
  .wp-block-buttons{ gap: 14px; }
  .wp-block-buttons>.wp-block-button:has(+ .wp-block-button),
  .wp-block-buttons>.wp-block-button + .wp-block-button { min-width: 240px; } 
  body.home .wp-block-nk-awb .wp-block-buttons>.wp-block-button { min-width: initial; }
}

.wp-block-separator {
  background: #939393;
  color: #939393;
}

.layout-banner {
    background: rgb(237 237 237);
    z-index: 88;
}


/* Lenis smoothscroll */ 
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
.lenis.lenis-autoToggle { transition-property: overflow; transition-duration: 1ms; transition-behavior: allow-discrete; }


body.error404 main p { max-width: 100%; }
body.error404 main .wp-block-button__link { width:auto; }

/* Anim sticky header */
body.is-sticky-up.is-scroll-down:not(.js-navigation-opened) .layout-header .wp-block-columns { animation: .2s ease-in 1 forwards stickyHeaderContentClose }
body.is-sticky-up.is-scroll-up .layout-header .wp-block-columns { animation: .3s ease-in 1 backwards stickyHeaderContent; animation-delay: .13s }
@keyframes stickyHeaderContent {
  from { transform: translateY(-101%) }
  to { transform: translateY(0) }
}
@keyframes stickyHeaderContentClose {
  from { transform: translateY(0) }
  to { transform: translateY(-101%) }
}

.titre{ color:rgba(26, 24, 27, 0.6); font-size:40px; font-family: "univers-next-pro"; margin-block-end: 2rem !important; }
@media (max-width:767px){
  .titre{ font-size:20px }
  .small-mob{ font-size:20px !important }
  .small-mob br{ display: none; }
}
@media (min-width:768px){
  footer.layout-footer {
    font-size:15px
  }
}

.p-section{ padding-top:4rem; padding-bottom:4rem; }
@media (min-width:1500px){
  .front .wp-block-site-logo,
  .front .layout-footer .wp-block-image { position: relative; left: -50px; }
}
@media (min-width:1200px){
  .p-section{ padding-top: 14rem!important; padding-bottom: 14rem!important; }
  .p-section:not(.has-background) + .p-section:not(.has-background){ padding-top:0!important;}

  .navigation > div > ul > li.menu-item-has-children a,
  .navigation > div > ul > li > a { font-size: 18px; font-weight: bold; }
  .navigation ul li.item-has-mega-menu > a{ padding-right:25px; }
  .navigation ul li.item-has-mega-menu > a:after{ content:"❯"; font-size:0.75rem; font-weight:600; position: absolute; right: 10px; transform: rotate(90deg); transition: all 200ms ease }

  .mega-menu-content { position: absolute; left: 0; width: 100%; top:100%; display: block; opacity: 0; pointer-events: none; z-index: 2; transition: all 500ms ease;box-shadow: 3px 3px 5px rgba(0, 0, 0, .1); }
  .mega-menu-content p:empty { display: none; }
  body.is-scroll-down .mega-menu-content{ opacity: 0 !important;  pointer-events: none !important; }
  .item-has-mega-menu:hover .mega-menu-content,
  .item-has-mega-menu:focus-within .mega-menu-content,
  .item-has-mega-menu:focus .mega-menu-content { opacity: 1; pointer-events:initial; }

  main#main-content { position: relative; z-index: 88; background: #fff; margin-bottom: 549px; }
  footer.layout-footer {
    position: fixed;
    left: 0;
    width: 100%;
    bottom: 0;
    height: 550px;
    background: #002742;
  }

}

.layout-footer .bloc-nav ul { display: flex; gap: 50px; }
.layout-footer .bloc-nav ul li { border-bottom:none; }
.layout-footer .bloc-nav ul li a{ padding: 0; color: rgba(255, 255, 255, .6); }
@media (min-width:768px) and (max-width:991px){
  .layout-footer .wp-block-columns { display: flex;flex-direction: column; }
  .layout-footer .bloc-nav ul { flex-direction: column; gap: 20px; }
  .layout-footer .cols-bas { flex-direction: column-reverse; } 
  .layout-footer .wp-block-spacer { display: none; }
  .layout-footer .is-content-justification-right { justify-content: flex-start; }
}
@media (max-width:767px){
  .layout-footer .bloc-nav ul { flex-direction: column; gap: 20px; }
  .layout-footer .wp-block-column { border-bottom: 1px solid #5b5b5b; padding-bottom: 40px; }
  .layout-footer .cols-bas { flex-direction: column-reverse; } 
  .layout-footer .cols-bas > :first-child {  border-bottom:none } 
  .layout-footer p:not(.adddd) br { display: none; }
  .layout-footer .wp-block-spacer { display: none; }
  .layout-footer .gangang {     padding: 0; margin-top: -21px; }
  .layout-footer .is-content-justification-right { justify-content: flex-start; }
}


.front .scrolljacking-nav{ display: none; }
@media (max-width: 650px), (min-width: 1200px){
.front .scrolljacking{ position: relative;  }
.front .scrolljacking-cont{ position: sticky; top: 0; }
.front .scrolljacking-header{ position: absolute; top:40px; left: 0; width: 100%; z-index: 33; }
.front .scrolljacking-nav{ list-style: none; padding: 0; display: flex; gap: 5px; }
.front .scrolljacking-nav li button{ width: 15px; height: 15px; padding: 0; border-radius:50%; border:1px solid #fff; background:transparent; }
.front .scrolljacking-nav li.is-active button{ background: #fff; }

.front .scrolljacking .item { position: absolute; left: 0; right:0; width: 100%; top:20px; /*opacity: 0;*/ pointer-events: none; height: 100dvh; display: flex; align-items: center;  }
.front .scrolljacking .item.is-active { pointer-events: initial; animation: fadeIn 0.001s ease both; z-index: 22 !important; top: 0px; }

/* Fix pour éviter bug à cause du micro délai de l'animation quand on scroll vers le haut */
/* Délai nécessaire pour éviter bug quand on scroll vers le bas (un des element qui saute) */
.front .scrolljacking .item.is-active-fix { pointer-events: initial; animation: fadeIn ease both; top: 0px; } 

.front .scrolljacking.scrolljacking-innovations .item { opacity: 0 }
.front .scrolljacking.scrolljacking-innovations .item.is-active { animation:none; opacity:1; }
.front .scrolljacking-metiers .item:nth-child(1){ z-index: 1;}
.front .scrolljacking-metiers .item:nth-child(2){ z-index: 2;}
.front .scrolljacking-metiers .item:nth-child(3){ z-index: 3;}
.front .scrolljacking-metiers .item:nth-child(4){ z-index: 4;}
.front .scrolljacking-metiers .item:nth-child(5){ z-index: 5;}
.front .scrolljacking-metiers .item:nth-child(6){ z-index: 6;}
.front .scrolljacking-metiers .mask{ overflow: hidden; transform: translateX(100%);}
.front .scrolljacking-metiers .mask img{ transform: translateX(-100%);}

.front .scrolljacking-metiers .scrolljacking-header + div .grid-text{ opacity:1 !important;}
.front .scrolljacking-metiers .scrolljacking-header + div .mask{ transform: translateX(0) !important;}
.front .scrolljacking-metiers .scrolljacking-header + div .mask img{ transform: translateX(0) !important;}

.front .scrolljacking-metiers .item .grid-text{ opacity: 0; }
.front .scrolljacking-metiers .item:has(+ .item:is(.is-active, .is-active-fix)) .grid-text{ opacity: 1; }
.front .scrolljacking-metiers .item.is-half:is(.is-active, .is-active-fix) .grid-text{ opacity: 1; }
}
@media (min-width: 651px) and (max-width:1199px){
  .front .scrolljacking{ height: auto !important;  }
  .front .scrolljacking.scrolljacking-metiers .wp-block-image .mask{ transform:none !important }
  .front .scrolljacking.scrolljacking-metiers .wp-block-image .mask img{ transform:none !important }
  .front .scrolljacking.scrolljacking-innovations .item { margin-bottom: 100px; }
}
@media (max-width: 650px){
  .grid-text .text { min-height: 75px; }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    /*opacity: 0;*/
  }
  1% {
    position:relative;
  }
  100% {
    opacity: 1;
    position:relative;
  }
}

@media (max-width:1199px){
  .front .scrolljacking .item {
    align-items: flex-start;
    padding-top: 30px;
  }
}  
@media (max-width:650px){
  .front .scrolljacking .item {
    align-items: flex-start;
    padding-top: 90px;
  }
}  

.front .scrolljacking.scrolljacking-metiers .scrolljacking-header { position: relative; padding-top: 20px; z-index: 33; }
.front .scrolljacking.scrolljacking-metiers .scrolljacking-header h2{ position: absolute; left: 0; width: 100%; margin: auto; }
.front .scrolljacking.scrolljacking-metiers .wp-block-image { overflow: hidden; border-radius: 5px; position: relative; }
.front .scrolljacking.scrolljacking-metiers .wp-block-image a{     vertical-align: middle; }
/* Pas besoin transition avec le plugin de scroll */
/*.front .scrolljacking.scrolljacking-metiers .wp-block-image img{ transition: all 500ms ease; } */
.front .scrolljacking.scrolljacking-metiers .wp-block-image:is(:hover, :focus) img{ transform: scale(1.1); }
.front .scrolljacking.scrolljacking-metiers :where(.is-layout-grid) { gap: 20px; }


.front .scrolljacking.scrolljacking-metiers .scrolljacking-nav { display: none !important; position: absolute; right: 30px; flex-direction: column; top: 20dvh;  }
@media (max-width: 781px){
  .front .scrolljacking.scrolljacking-metiers .scrolljacking-nav { top: 16dvh; }
}
@media (min-width:1200px) {
  .front .scrolljacking.scrolljacking-metiers .item > div > figure .mask  {         position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;}
  .front .scrolljacking.scrolljacking-metiers .item > div > figure img { 
    aspect-ratio: initial !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.front .scrolljacking.scrolljacking-innovations{ padding: 0 25px;}
.front .scrolljacking.scrolljacking-innovations .scrolljacking-header { position: absolute; top: 42dvh; width: 100%; z-index: 2; }
.front .scrolljacking.scrolljacking-innovations .scrolljacking-nav { position: absolute; right:0px; flex-direction: column;  }
.front .scrolljacking.scrolljacking-innovations .scrolljacking-nav li button{ border:1px solid #CFD3D5;  }
.front .scrolljacking.scrolljacking-innovations .scrolljacking-nav li.is-active button{ background: #CFD3D5 }
@media (min-width:782px){
  .front .scrolljacking.scrolljacking-innovations p{ max-width:93% }
}
@media (min-width:1500px) {
  .front .scrolljacking.scrolljacking-innovations .scrolljacking-nav { right:-40px;   }
}
@media (max-width:1199px){
  .front .scrolljacking.scrolljacking-innovations .scrolljacking-header {  right:0px; }
  .front .scrolljacking.scrolljacking-innovations .scrolljacking-nav { right: 3px; }
}
@media (max-width: 781px){
  .front .scrolljacking.scrolljacking-innovations .is-layout-flex{ flex-direction: column-reverse; align-items: flex-start; }
  .front .scrolljacking.scrolljacking-innovations .wp-block-image{ max-width:70%; margin-left: auto; margin-right: auto; text-align: center;}
}


/* Offcanvas */
.contact-modal{ background:#ECECEC; position: fixed; top: 0; height: 100%; right: 0; z-index: 999; transform: translateX(100%);  transition: all 300ms ease; }
.contact-modal-cont{ overflow:auto; height: 100%; padding:2rem 10% 0rem 18% }
.contact-modal-bg{ opacity: 0; pointer-events: none; background: rgba(0, 0, 0, .3); z-index: 88; position: fixed; top: 0; left: 0; width: 100%; height: 100%; transition: all 300ms ease;}
.contact-modal .btn-open{ background:var(--primary); border: none; color: #fff; line-height: 1em; font-size: 18px; transition: all 300ms ease; }

@media (max-width:1199px){
  .contact-modal-cont {
    padding: 5rem 30px;
    position: relative;
  }
  .contact-modal .btn-open{
    opacity:0;
    pointer-events: none;
  }
  body.js-navigation-opened .contact-modal .btn-open{
    opacity: 1;
    pointer-events: initial;
  }
  .contact-modal .btn-open { text-align: left;  position: absolute; top: initial; bottom: 0; left: 0; width: 100%;  transform: translateX(-100%); padding:29px 24px; border-radius: 0; }
  .contact-modal .btn-open img{ transform: scale(-1); margin-left: 15px; transition:all 300ms ease;}
}
@media (min-width:1200px){
  .contact-modal{ width: 50%;   }
  .contact-modal .btn-open{ opacity: 0; position: fixed; top: 40%; right: 100%; writing-mode: tb-rl; transform: scale(-1) translateX(-101%); padding: 35px 24px; border-radius: 0 5px 5px 0; opacity: 0; }
  .contact-modal .btn-open img{ transform: scale(-1); position: relative; top: 4px; left: -4px; transition:all 300ms ease;}
  body.offcanvas-opened .contact-modal .btn-open img{ transform:  scale(-1) rotate(180deg); }
  .contact-modal .btn-open.is-visible{    
    transform: scale(-1) translateX(0);
    opacity: 1;
  }
}

.contact-modal .btn-close{ position: absolute; top: 30px; left: 30px; border: none; background-color: #ECECEC; padding: 0; }
body.offcanvas-opened{ overflow: hidden; }
body.offcanvas-opened .contact-modal{ transform: translateX(0); }
body.offcanvas-opened .contact-modal-bg{ opacity: 1; pointer-events: initial; }



body.is-sticky-up.is-scroll-over-header .layout-wrapper > header {
    box-shadow: 1px 1px 5px rgba(0, 0, 0, .1);
    box-shadow: none;
    border-bottom: 1px solid #000;
}

/* Trait */
.underline {
  height:1px;
  background-color: #000;
  margin-block-start: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease-out;
}

.wp-block-button__link,
.wpcf7 .wpcf7-submit { 
  background-image: url("../images/fleche-n.svg") !important; 
  background-repeat: no-repeat !important; 
  background-position: right 14px center !important; 
  color: var(--body-color);
  padding-right: 45px !important;
}
.wpcf7 .wpcf7-submit { 
  background-color: transparent;
  border: 2px solid #000;
}
.wp-block-button__link:is(:hover, :focus),
.wpcf7 .wpcf7-submit:is(:hover, :focus) { 
  padding-right:51px !important;
 }

.wp-block-button__link.has-primary-background-color{ 
  background-image: url("../images/fleche-big.svg") !important; 
  border:none
 }
.wp-block-button__link.has-blanc-background-color:is(:hover, :focus){ 
  background-color: var(--primary) !important
 }
 
 .wp-block-button__link:is(:hover, :focus){ 
   background-image: url("../images/fleche-big.svg") !important; 
}
 .wpcf7 .wpcf7-submit { 
  transition: all 300ms ease;
 }
 .wpcf7 .wpcf7-submit:is(:hover, :focus) { 
   color: var(--primary);
   border: 2px solid var(--primary) !important;
   background-image: url("../images/fleche-big-r.svg") !important; 
}

.is-style-outline .wp-block-button__link.has-blanc-color{ 
  background-image: url("../images/fleche-b.svg") !important; 
}
.is-style-outline .wp-block-button__link:is(:hover, :focus),
.is-style-outline .wp-block-button__link.has-blanc-color:is(:hover, :focus){ 
  background-image: url("../images/fleche-big-r.svg") !important; 
}

/* Contact form */
.wpcf7 select { color: #6d6d6d; }
.wpcf7 p:last-of-type{ text-align: right; }
.wpcf7 .wpcf7-spinner { margin: 15px 0 0 0; position: relative; display: block; margin-left: auto; }
.wpcf7 .wpcf7-not-valid-tip { font-size: 1rem; margin-top: 5px; }
@media (min-width:1200px){
  .wpcf7 p:nth-of-type(4) {
    width: 42%;
    display: inline-block;
    vertical-align: top;
  }
  .wpcf7 p:nth-of-type(4),
  .wpcf7 p:nth-of-type(5) {
    width: 42%;
    display: inline-block;
    vertical-align: top;
  }
  .wpcf7 p:nth-of-type(5) {
    float: right;
  }

}


.col-nav{ display: flex; flex-direction: column; justify-content: space-between; }
.front .col-imgs figure{ display: none; margin-block-start:0; transition: all 300ms ease; }
.col-imgs figure.active{ display:block; animation: fadeImg .3s ease-in  }
@media (max-width:1199px){
  .wp-block-site-logo{ width: 165px }
  .slogan,
  .col-imgs { display: none; }
}
@keyframes fadeImg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


@media (min-width:1200px){
  .nav-metiers ul li{ border:none }
  .nav-metiers ul li a:is(:hover, :focus){ color: var(--body-color); font-weight: bold; }
}
@media (max-width:1199px){
  body.is-nav-metiers .navigation {
    border-top:#fff;
  }
  .nav-metiers ul li a{ font-weight:500; }
}

/* Map */
.bloc-map{ position: relative; background: #212124;  }
#map { width: 100%; 
  height: calc(100dvh - 83px); 
}

#map-nav{ position: absolute; top:40px; left: 80px; font-size: 15px; z-index: 2; background: rgba(255, 255, 255, .1); color: #fff; padding: 20px; border-radius: 5px; max-width: 375px; width: 100%; }
#map-nav ul{ padding: 0; list-style: none;  }
#map-nav ul li:first-of-type{ border-top: 1px solid #5b5b5b  }
#map-nav ul li{ border-bottom: 1px solid #5b5b5b; cursor: pointer; padding: 12px 0; text-transform: uppercase; background: url("../images/fleche-big.svg") no-repeat right 16px; background-size: 18px; transition: all 300ms ease; }
#map-nav ul li:is(:hover, :focus),
#map-nav ul li.active{ color: var(--primary); background: url("../images/fleche-big-r.svg") no-repeat right 16px; background-size: 18px; }
#map-nav ul li.has-child{ background: url("../images/plus.svg") no-repeat right 16px; background-size: 18px; }
#map-nav ul li.has-child:is(:hover, :focus){ background: url("../images/plus-b.svg") no-repeat right 16px; background-size: 18px; }
#map-nav ul li.has-child.active{ background: url("../images/plus-h.svg") no-repeat right 16px; background-size: 18px; }
#map-nav ul li.has-child ul{ max-height: 0; overflow: hidden; transition: all 300ms ease;  }
#map-nav ul li.has-child.active ul{ max-height:1000px; }
#map-nav ul li ul li{ color: #fff; border:none !important; text-transform: none; padding: 8px 0 0 20px; background-position:right 13px !important  }
#map-nav .mapboxgl-ctrl {
  position: absolute;
  top: 0;
  left: calc(100% + 10px);
  z-index: 1;
}
.mapboxgl-ctrl-alt {
  position: absolute; top:40px; left: 80px;
}
@media (min-width:1700px){
  #map-nav{ top:20dvh; }
}
@media (max-width:1199px){
  #map-nav ul li ul li { color: #000; }
  #map-nav ul li.has-child{ background: url("../images/plus-n.svg") no-repeat right 16px; background-size: 18px; }

  #map-nav ul li { background: url("../images/fleche-big-n.svg") no-repeat right 16px;    background-size: 18px; }
}

#map-nav .btn-close-map-nav{ position: absolute; top: 20px; left: 20px; border: none; background-color: transparent; padding: 0; }

#map-item{ display: flex; position: absolute; bottom: 70px; left: 80px; z-index: 2; background: #fff; border-radius: 5px; padding: 20px 20px 12px 20px; right: 80px; transition: all 300ms ease; font-size:15px }
#map-item:empty{ opacity: 0; pointer-events: none;  padding:0 }
#map-item .secteur{ text-transform: uppercase; color: var(--primary); font-weight: 600; font-family: var(--font-sec); }
#map-item h2{ margin: 0; padding: 0 30px 0 0; }
#map-item p{ margin: 0; }

#map-item a{ display: block; background: url("../images/link.svg") no-repeat right 2px; background-size: 17px; text-decoration: none; transition: all 200ms ease; }
#map-item a:is(:hover, :focus){ color: var(--primary); background: url("../images/link-h.svg") no-repeat right 2px; background-size: 17px; }
.btn-filter{ display: none; position: absolute; bottom:30px; left:30px; border: none; background-color: transparent; padding: 0;  }

#map-legend { padding: 0 15px; position: absolute; bottom: 0; left: 0; width: 100%; background: #212124; z-index: 222;  }
#map-legend ul{ display: flex; gap:20px; list-style: none; padding:10px 0; border-top: 1px solid #5b5b5b; margin: 0; }
#map-legend ul li{ color: #5b5b5b; text-transform: uppercase; font-size: 10px; font-weight: bold; transition: all 200ms ease; }
#map-legend ul li[data-secteur="W"] span{ padding-right: 1px; }
#map-legend ul li span{  transition: all 200ms ease; display: inline-block; width: 20px; height: 20px; background: #5b5b5b; color: #002742; border-radius: 50%; font-size: 13px; font-weight: bold; text-align: center; line-height: 21px; }
#map-legend ul li.active{  color: var(--primary) }
#map-legend ul li.active span{ background: var(--primary); color: #fff; }


.mapboxgl-ctrl-bottom-left,
.mapboxgl-ctrl-bottom-right {
    display: none;
}
@media (min-width:1200px){
  .btn-close-map-nav{ display: none; }
  #custom-nav-control-mobile{ display: none;}
  .btn-filter{ display: none; }
  #map-legend { padding: 0 80px; }
  #map-item > div:nth-of-type(1){ width: 35%;}
  #map-item > div:nth-of-type(2){ flex:1 }
  #map-item > div:nth-of-type(3){ flex:1 }
  #map-item > div:nth-of-type(4){ width:230px}
}
@media (max-width:1199px){
  #map-nav ~ .btn-filter{ display:block  }
  #map-nav {
    position: fixed;
    top: 0;
    left: 0;
    max-width: initial;
    padding: 100px 20px 20px 20px;
    height: 100%;
    background: #fff;
    color: #000;
    z-index: 22;
    transform: translateY(100%);
    opacity: 0;
    transition: all 200ms ease;
    border-radius:0px
  }
  #map-nav.active {
    opacity: 1;
    transform: translateY(0%);
    z-index: 333;
  }
  #map-item { flex-direction: column; gap: 30px; }
  #map-item {
    bottom: 20px;
    left: 20px;
    padding: 30px 20px;
    right: 20px;
  }
  #map-item > div:nth-of-type(4) p:first-of-type{ margin-bottom: 10px;    border-top: 1px solid #ccc;
    padding-top: 20px;}
  #custom-nav-control{ display: none;}
  #custom-nav-control-mobile{ position: absolute; top: 30px; left: 30px;}
  #map-legend { display: none; }
  .tabs .tab.active { color: #000; }
}


/* Tabs */
.tabs { display: flex; margin-bottom: 1em; cursor: pointer; gap:20px }
.tabs .tab { padding: 10px 0; border: none; border-bottom: 2px solid transparent; margin-right: 5px; font-weight: bold; text-transform: uppercase; color: #5b5b5b; transition: all 200ms ease; }
.tabs .tab.active { border-bottom: 2px solid var(--primary); color: #fff; }
.tabs ul ul { margin-left: 20px; }
.tab-content { display: none; }
.tab-content.active { display: block; }
@media (max-width:1199px){
  .tabs .tab.active { color: #000; }
}

@media (max-width:1199px){
  .valeur { position: relative; overflow: hidden; }
  .valeur .wp-block-image img{ aspect-ratio: 16 / 8 !important }
  .valeur .wp-block-heading{ position: absolute; top: 20px; left: 20px; color: #fff !important; font-size:30px }
  .valeur .wp-block-group.has-blanc-background-color{ background: transparent !important; padding: 0; margin-block-start:15px !important}
  .valeur .wp-block-image { margin: 0 0 1em; border-radius: 5px; overflow: hidden; }
}
@media (max-width:650px){
  .grille-valeurs{ display: block;}
}
@media (min-width:1200px){
  .valeur { position: relative; overflow: hidden; }
  .valeur .wp-block-image img{ aspect-ratio: 16 / 7 !important }
  .valeur .wp-block-group{ margin-block-start: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 3rem !important;
    display: flex ;
    flex-direction: column; 
    justify-content: space-between; 
    opacity: 0; 
    transform: translateY(100%);
    transition: all 300ms ease;
  }
  .valeur:is(:hover, :focus) .wp-block-group{ 
    opacity: 1; 
    transform: translateY(0);
  }
}



.slider-nav{ padding: 0; list-style: none; display: flex ; gap: 10px; justify-content: flex-end;  }
.front .slider-nav{ margin: -70px 0 50px 0; }
.slider-nav li button{ filter: invert(1); border: none; border-radius:0px; width: 35px; height: 35px; font-size:0px; user-select: none; background: url("../images/fleche-slide.svg"); }
.slider-nav li button.prev{ transform: scale(-1); }
.slider-nav li button.slick-disabled{ opacity: .5; }
.slider-nav .slick-arrow.slick-hidden {
    display: block; opacity: 0;
}


.grid-text { position: relative; padding: 25px !important; display: flex; flex-direction: column; justify-content: space-between; border-radius: 5px;transition: all 400ms ease; }
.grid-text .title{ font-size:20px;  background: url("../images/icon.svg") no-repeat left; padding: 0 0 0 30px; }

.grid-text .wp-block-group{ width: 100%; }
.grid-text .more{ width: 100%;}
.grid-text .more a{ text-decoration: none; display: block; background: url("../images/link.svg") no-repeat right; width: 100%;font-size: 15px;transition: all 200ms ease;}
.grid-text .more a:before{ content:""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.grid-text .more a:is(:hover, :focus){ color: var(--primary); background: url("../images/link-h.svg") no-repeat right }
@media (min-width:1700px){
  .grid-text .text { font-size: 22px; }
}

@media (min-width:1200px) and (max-height:1030px){
  .front .grid-text{ grid-column: span 2; height: 280px; }
  .front .grid-text .text{padding-right: 70px !important; }
  .front .grid-text + figure{ display: none; }
  .front .scrolljacking-nav li.is-active button { background:var(--body-color); }
  .front .scrolljacking-nav li button { border: 1px solid var(--body-color); }
  .front .scrolljacking-metiers .wp-block-image img { aspect-ratio:12 / 9 !important } 
}
@media (min-width:1200px) and (max-height:850px){
  .front .grid-text{ height: 205px; }
  .front .grid-text .text{ max-height: 64px; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } 
  .front .scrolljacking-metiers .wp-block-image img { aspect-ratio:12 / 7 !important }
  .front .scrolljacking-nav { gap: 0; }
}
@media (orientation: landscape) and (max-width:1199px){
  .scrolljacking-metiers .is-layout-grid .grid-text ~ figure{ display: none; }
  .scrolljacking-metiers .is-layout-grid .is-layout-grid{ display: block; }
  .grid-text { height: 100%; }
}
@media (orientation: portrait) and (max-width:1199px){
  .scrolljacking-metiers .is-layout-grid .grid-text ~ figure{ display: none; }
  .scrolljacking-metiers .is-layout-grid{ display: block; }
  .scrolljacking-metiers .wp-block-image{ border-radius:5px; } 
  .scrolljacking-metiers .grid-text{ margin-top: 20px; border-radius:5px; } 
}

.metiers-retour{ white-space: nowrap; background:url("../images/chevron2.svg") no-repeat 30px center; padding-left:30px; color: #CFD3D5; }
.metiers-retour a{ font-weight: 500 !important }
.metiers-titre a{ font-weight: bold; }

@media (max-width:1199px){
  .front .mega-menu-content{ 
    position: absolute;
      top: -1px;
      left: 0;
      width: 100%;
      z-index: 99;
      background: #fff;
      height: 100%;
      margin-block-start: 0;
      transform: translateX(100%);
      transition: all 200ms ease;
   }
  .front .mega-menu-content.active{ 
      transform: translateX(0%);
   }
  .front .mega-menu-content :where(.wp-block-group.has-background) { padding:0 }
  .front .mega-menu-content .wp-block-spacer { display: none; }
  .front .mega-menu-content .wp-block-columns { padding:0 !important; margin-block-start: 0; }
  .front .mega-menu-content :where(.is-layout-flow) > * { margin-block-start: 0; }
  /* .front .mega-menu-content{ display: none; } */
}
@media (min-width:1200px){
  .metiers-retour,
  .metiers-titre { display: none; }
}


.slick-dots {
    max-width: 100dvw;
    padding: 30px 0 0 0;
}

body.page-template-map main#main-content { margin-bottom: 0; }
body.page-template-map .layout-footer{ display: none; }
body.page-template-map .bloc-map { position: fixed; top:86px; left: 0; width: 100%; height:calc(100% - 86px) }
body.page-template-map:not(.js-navigation-opened) .layout-wrapper > main { position: relative; z-index: 222; }

@media (min-width:1200px){
  body:not(.page-template-map) #map-nav .mapboxgl-ctrl { left: 0; top: 4px; }

  body:not(.page-template-map) .mapboxgl-ctrl-alt { left: 0px; top: -70px; }

  body:not(.page-template-map) #map-item {position: static; clear: both; }
  body:not(.page-template-map) #map-nav { position: static; background: var(--body-color); margin: 0 0 10px; padding: 20px 40px; max-width: inherit;         display: inline-block;
        width: auto;
        float: right;border: 1px solid #636264; }
  body:not(.page-template-map) .map-inf {
    position: absolute;
    bottom: 50px;
    left: 80px;
    z-index: 2;
    right: 80px;
    transition: all 300ms ease;
    pointer-events: none;
  }
  body:not(.page-template-map) .map-inf > *{ pointer-events: initial; }
  body:not(.page-template-map) #map-nav ul { display: flex ; gap: 20px; margin: 0; }
  body:not(.page-template-map) #map-nav ul li { font-weight: 500; border-top: none !important; text-transform: none; background: none !important; border: none; padding: 0; color: #5b5b5b; }
  body:not(.page-template-map) #map-nav ul li:is(:hover, :focus){ color:#fff;  } 
  body:not(.page-template-map) #map-nav ul li.active { color:#fff; border-bottom: 1px solid var(--primary); font-weight: bold; }
}

footer .wp-social-link-chain a{ background:url("../images/indeed.svg") no-repeat center center; background-size: 27px; }
footer .wp-social-link-chain a svg{ opacity: 0; }

.groupe-chiffres-title { font-size: 25px; }
@media (max-width:991px){
 .groupe-chiffres-title { font-size: 15px }
}
/* ABBG overlay — keep AWB position:absolute on .nk-awb-wrap */
.abbg-parallax-fond.nk-awb .nk-awb-wrap,
.wp-block-nk-awb.abbg-parallax-fond .nk-awb-wrap {
  z-index: 0 !important;
}
.abbg-parallax-fond.nk-awb .nk-awb-inner,
.wp-block-nk-awb.abbg-parallax-fond .nk-awb-inner {
  z-index: 0 !important;
}
.abbg-parallax-fond .nk-awb-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient( 180deg, rgba(0,39,66,.72) 0%, rgba(0,39,66,.55) 45%, rgba(0,39,66,.68) 100% );
}
.abbg-parallax-fond .nk-awb-wrap-content { position: relative; z-index: 2; }

/* ABBG — pied de page : adresses structurées */
.abb-footer-contact {
  margin: 0;
  font-size: inherit;
  line-height: 1.5;
}
.abb-footer-contact__siteline {
  margin: 0 0 0.85rem;
}
.abb-footer-contact__sites {
  margin: 0 0 0.9rem;
  padding-left: 1.15rem;
  list-style: disc;
  color: inherit;
}
.abb-footer-contact__sites li {
  margin-bottom: 0.4rem;
}
.abb-footer-contact__tel,
.abb-footer-contact__mail {
  margin: 0.35rem 0 0;
}
.abb-footer-contact__mail {
  margin-bottom: 0;
}
