body {
  font-size:19px;
  --border-radius: 30px;
  --button-padding: 10px 15px;
}

@media (min-width:1200px){
  body {
    --container-padding: 4.5rem;
  }
}
p { text-align: justify; }

p a{ text-decoration: underline; }
p a:is(:hover, :focus){ text-decoration: none; }

h2:after{ content: ""; display: block; width: 60px; height: 3px; background: var(--primary); margin: 2rem 0 2rem 0;}
h2.trait-noir:after{ background: var(--dark); }
h2.has-text-align-center:after{ margin-left:auto; margin-right:auto;}

@media (max-width:781px){
  .align-left-mobile{ justify-content: flex-start !important }
}

.bloc-equipe { position:relative; overflow:hidden }
.bloc-equipe h3{ text-shadow: 1px 2px 5px rgba(0, 0, 0, 0.15); transition: all 300ms ease; }
.bloc-equipe .wp-block-cover { min-height: 300px; aspect-ratio: 16 / 9; }
.bloc-equipe .wp-block-cover .wp-block-cover__image-background { object-fit: contain; object-position: bottom; background:#d9d9d9 }
.bloc-equipe > .wp-block-group{ margin:0;  }
.bloc-equipe > .wp-block-group p{ color: rgba(255,255,255, .7) !important  }
.bloc-equipe > .wp-block-group p strong{ color:#fff  }
@media (min-width:782px){
  .bloc-equipe > .wp-block-group{ margin:0; line-height: 2em; }
  .front .bloc-equipe > .wp-block-group{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; overflow:auto; transform:translateY(100%); opacity:0; transition:all 400ms ease; }
  .front .bloc-equipe:is(:hover, :focus) h3{ opacity: 0; }
  .front .bloc-equipe:is(:hover, :focus) > .wp-block-group{ transform:translateY(0); opacity:1; }
}
@media (min-width:1700px){
  .bloc-equipe > .wp-block-group{ font-size:1.3rem  }
}

.justify{ text-align: justify; }

.has-xx-large-font-size {
    line-height: 1.5em;
}

/* Form */
.wpcf7 .wpcf7-submit { background: var(--primary); color: #fff; padding: 8px 30px; border: none; transition: all 400ms ease; width: 100%; border-radius: 30px; }
.wpcf7 .wpcf7-submit:is(:hover, :focus, :active) { background: #000;}
.wpcf7 .wpcf7-form > p:last-of-type { text-align: center;  }

.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(1) { width: 49%; display: inline-block; vertical-align: top; }
  .wpcf7 p:nth-of-type(1),
  .wpcf7 p:nth-of-type(2) { width: 49%; display: inline-block; vertical-align: top; }
  .wpcf7 p:nth-of-type(2) { float: right; }
}


/* Header */ 
 .layout-header{ background: #000;}
@media (min-width:1200px) {
  .navigation ul ul.sub-menu li:first-of-type { padding-top:19px; }

  .layout-header{ position:fixed; top: 0; left: 0; width: 100%; padding: 0 20px;     height: 90px; display: flex; align-items: center;}
  body.is-scroll-down .layout-header{ background: transparent } 
  body.is-scroll-down .layout-header  .site-logo a img{ opacity: 0; }
  .layout-header .site-logo{ transition:all 200ms ease 200ms; padding: 0 15px; }
  body.is-scroll-down .layout-header .site-logo{ opacity: 0; }
  .layout-header:before{ content: ""; pointer-events: none; display: inline-block; height: 0; width: 0; border-top:0px solid #000; border-right:0px solid transparent; position: absolute; top: 0; left: 0; transition: all 300ms ease;}
  
  body:not(.apres-header):not(.js-navigation-opened) .layout-header{ background: transparent; box-shadow: none; transition: transform 500ms ease; }
  body:not(.apres-header):not(.js-navigation-opened) .layout-header:before{ content: ""; border-top: 350px solid #000; border-right: 350px solid transparent; }
  body:not(.apres-header):not(.js-navigation-opened) .layout-header .site-logo { position: relative; top: 40px; }
  body:not(.apres-header):not(.js-navigation-opened) .layout-header .site-logo a img { opacity: 0;max-height:60px !important; animation: .5s linear forwards .1s opaIn; }
  body:not(.apres-header):not(.js-navigation-opened) .navigation ul ul.sub-menu li:first-of-type { padding-top:0px; }
  @keyframes opaIn {
    0%{ opacity: 0;}
    100%{ opacity: 1;}
  }
}
@media (max-width: 1199px) {
  .layout-header { padding: 0 1.5rem; }
  .navigation ul li.espace-client a:before { filter: invert(1); }
    .navigation{ --border: 1px solid rgba(255, 255, 255, .2); }
    .navigation,
    .navigation ul ul.sub-menu {
      color: #fff;
      background: #000;
    }
    a.btn-go-top { display: none !important }
}

/* Nav */ 
.navigation ul li.espace-client a:before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/user.svg) no-repeat;
    position: static;
    background-size: contain;
    transform: none;
    margin: 0 5px 0 0;
    transition: all 300ms ease;
}
.navigation ul li.espace-client:is(:hover, :focus) a:before,
.navigation ul li.espace-client a:is(:hover, :focus):before {
    filter: invert(1);
}
@media (min-width:1200px) {
  .navigation > div > ul > li > a { font-size: 1rem; background: #fff; padding: 10px 15px; margin: 0 10px; border-radius: 50px; font-weight: 500; }
  .navigation > div > ul > li a:hover, 
  .navigation > div > ul > li a:focus, 
  .navigation > div > ul > li:hover > a, 
  .navigation > div > ul > li:focus-within > a{ background: var(--primary); color: #fff; }
  .navigation > div > ul > li > a:before { display: none; }
}
@media (max-width:1199px) {

}


/* Footer */
.form-footer-cont{ margin-top: -500px; position: relative; z-index: 2; }
.form-footer { border-radius: 40px; box-shadow: 0 16px 80px rgba(0, 0, 0, .15) !important }

footer .bloc-nav ul { display: flex; gap: 30px; }
footer .bloc-nav ul li { border:none }
footer .bloc-nav ul li a{ color:var(--primary); padding: 0; }

.wp-block-social-link a { border-radius: 30px; border:1px solid #c1c1c1 !important; font-size: 18px; padding: 15px; box-shadow: none; }
@media (max-width:781px) {
  .wp-block-social-links.alignright{ float: none; justify-content: flex-start; padding: 0; margin: 0; }
}


/* Map */
#map { width: 100%; height:82svh; position: relative; }
@media (max-width: 1199px) {
  #map { height:65svh }
}

#map-nav .mapboxgl-ctrl { position: absolute; top: 0; left: calc(100% + 10px); z-index: 1; }
.mapboxgl-ctrl-alt { position: absolute; top:40px; left: 80px; }

.mapboxgl-popup { max-width: 300px !important; }
.mapboxgl-popup-content { border-radius: 20px; padding:0px; overflow: hidden; font-size: 1rem; }
.mapboxgl-popup-content .popup-content{ padding: 20px;}
.mapboxgl-popup-content .popup-content h3{ font-size:24px }
.mapboxgl-popup-content .popup-content ul{ list-style: none; padding:15px 0 20px 0; margin: 0; }
.mapboxgl-popup-content .popup-content ul li{  padding: 5px 0 5px 25px; font-size: 0.9rem; }
.mapboxgl-popup-content .popup-content ul li.livraison{ background: url(../images/livraison.svg) no-repeat left 5px;  }
.mapboxgl-popup-content .popup-content ul li.logements{ background: url(../images/logements.svg) no-repeat left 5px;  }
.mapboxgl-popup-content .popup-content ul li.adresse{ background: url(../images/pin-hover.png) no-repeat left 5px; background-size: 15px; }
.mapboxgl-popup-content .popup-content .wp-block-button__link{ width: 100%; }

#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; }

.mapboxgl-ctrl-bottom-left,
.mapboxgl-ctrl-bottom-right {
    display: none;
}
@media (min-width:1200px){
  #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 {
    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;}
}


.format-maquette {
    padding-bottom: 62.25%;
}

.has-x-large-font-size {
  line-height: 1.4em;
}

.justify{ text-align: justify;}

.card .card-body { align-items: stretch; }
.card:not(.card-small) .wp-block-button a { display: inline-block; position: absolute; opacity: 0; inset: 0; }

@media (min-width: 1200px) {
  .isotop-filters { justify-content: right; margin: -20px 0 0 0; position: relative; top:-70px }
}
@media (max-width: 1199px) {
  .isotop-filters > div { display: block; width: 100%; }
}

.titre-page{ color: #fff; background:rgba(0, 0, 0, .9); padding: 25px 40px; display: inline-block; margin: 0 0 70px 0 !important;}
.titre-page h1{ display: inline-block; }

.bloc-titre{ color: #fff; background:rgba(0, 0, 0, .9); padding:40px;margin: 0 0 30px 0 !important; }
.bloc-titre .site-dedie{ text-align: right; }
@media (max-width: 1199px) {
  .bloc-titre .grid{ display: block; }
  .bloc-titre .site-dedie{ text-align: left; }
}

ul.meta{ list-style: none;padding: 0; margin: 0; }
ul.meta li{  padding: 5px 0 5px 25px; font-size: 0.9rem; }
ul.meta li.livraison{ background: url(../images/livraison.svg) no-repeat left 12px;  }
ul.meta li.logements{ background: url(../images/logements.svg) no-repeat left 12px;  }
ul.meta li.adresse{ background: url(../images/pin-hover.png) no-repeat left 10px; background-size: 15px; }

.card ul.meta.meta2 { text-align: right; }
.card ul.meta.meta2 li.livraison{ display: inline-block; text-align: right;  }
.card ul.meta.meta2 li.prix{ text-align: right; color: var(--primary);}

.card .card-image img { transition: all 500ms ease; }
.card:is(:hover, :focus) .card-image img { transform: scale(1.1) }

.badges a{ text-decoration: none; }
.badges .badge{ display: inline-block;
    padding: 2px 15px;
    margin: 5px 0;
    background: #fff;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--primary);
    border-radius: 30px;
    min-width: 80px;
    text-align: center; }

.avancement{ list-style: none; padding: 0; margin: 0; display:flex; justify-content: space-between; text-align: center;}
.avancement li{ position: relative; width: 20%; }
.avancement li p{ text-align:center }
.avancement li:before { content: ""; display: block; position: absolute; top: 65px; left: calc(-50% + 50px); width: calc(100% - 100px); height: 5px; background:var(--primary) }
.avancement li:first-of-type:before { display: none; }
.avancement li .icon{ margin: 20px 0; display:inline-flex; background:var(--primary); width: 100px; height: 100px; border-radius: 50%; align-items: center; justify-content: center;}
.avancement li .icon svg{ width: 30px; height: 30px; }
.avancement li .icon svg path{  fill:white }
.avancement li .etape{ margin: 0; }
.avancement li .statut{ margin: 0; color: #4B5563; font-size:.9rem }

.avancement li.active{ color: var(--primary); }
.avancement li.active .statut{ color: var(--primary); }
.avancement li.active ~ li:before{  background:#D1D5DB; }
.avancement li.active ~ li .icon{  background:#D1D5DB; }
.avancement li.active ~ li .icon svg path{  fill:#4B5563 }
@media (max-width: 1199px) {
  .avancement { flex-direction: column; align-items: center; }
  .avancement li { width: 100%; }
  .avancement li.active ~ li{ opacity: .25;}
  .avancement li .icon { width: 50px; height: 50px; }
  .avancement li .etape { line-height: 1.2em; }
  .avancement li .icon svg { width: 20px; height: 20px; }
  .avancement li:before { display: none; }
}

.infos-buttons{ list-style: none; padding: 0; margin: 0 0 1.5rem 0; display: flex; justify-content: flex-end; text-align: center; gap: 30px; }
.infos-buttons li a { display:inline-block; }
.infos-buttons li a span { display: none; }
.infos-buttons .icon{ display:inline-flex; background:var(--primary); width:60px; height:60px; border-radius: 50%; align-items: center; justify-content: center; }
.infos-buttons .icon svg{ width:22px; height:22px; }
.infos-buttons .icon svg path{  fill:white }
@media (max-width: 1199px) {
  .infos-buttons { justify-content: flex-start; gap: 10px; padding: 15px 0; }
  .infos-buttons .icon { width: 40px; height: 40px; }
  .infos-buttons .icon svg { width: 16px; height: 16px; }
  ul.meta li { padding: 3px 0 0px 25px; }
}

.right-buttons{ z-index: 98; list-style: none; margin: 0; position: fixed; top:45%; right: 0; background: #000; padding: 20px 10px; border-radius:20px 0 0 20px; gap:20px; display: flex; flex-direction: column; }
.right-buttons li a { display:inline-block; }
.right-buttons li a span { display: none; }
.right-buttons .icon{ display:inline-flex; background:#fff; width:60px; height:60px; border-radius: 50%; align-items: center; justify-content: center; }
.right-buttons .icon svg{ width:22px; height:22px; }
.right-buttons .icon svg path{  fill:#000 }

.home-cats .wp-block-cover { position: relative; overflow: hidden; }
.home-cats .wp-block-cover a{ text-decoration: none; font-weight: bold; display: inline-block; transition: all 300ms ease; }
.home-cats .wp-block-cover .wp-block-cover__background{ opacity: 0 !important; transition: all 300ms ease; }
.home-cats .wp-block-cover a:before{ content: ""; display: inline-block; position: absolute; inset: 0; height: 100vh; width: 100vw; margin: -50vh 0 0 -50vw; }
.home-cats .wp-block-cover:is(:hover, :focus) .wp-block-cover__background{ opacity:.3 !important}
.home-cats .wp-block-cover a:is(:hover, :focus) { transform: translateY(-10px);}

.card-programme { position: relative;}
.card-programme .tags{ list-style: none; position: absolute; top: 10px; left: 10px; display: flex; gap: 10px; padding: 0; flex-direction: column; align-items: flex-start; }
.card-programme .tags li { display: inline-block; padding: 0px 10px; background: #fff; z-index: 2; border-radius: 30px; font-size:0.8rem; line-height: 1.6rem; }
.card-programme .tags li.categories { background: var(--primary); color: #fff; }
.slider-selection .card-programme .tags li.categories.selection { display: none; }

.card-reference{ position: relative;}
.card-reference .card-description{ position: absolute; left: 20px; bottom: 20px; color: #fff;}
.card-reference .card-image { border-radius: var(--border-radius); }
.card-reference .card-title { font-size: 2.3rem; margin-bottom: 0.1rem; }
@media (max-width: 781px) {
  .card-reference .card-title { font-size:1.8rem; }
}

.programme-galerie-reference .slick-slide { padding: 0 5px; }
.programme-galerie-reference .format-1-1{ width:245px }
.programme-galerie-reference .slick-track .slick-slide:first-of-type .format-1-1{ width:500px }
.programme-galerie-reference .slick-track .slick-slide a + a{ margin-top: 10px; }
@media (max-width: 781px) {
  .programme-galerie-reference .format-1-1{ width:calc(50svw - 1.5rem - 5px) }
  .programme-galerie-reference .slick-track .slick-slide:first-of-type .format-1-1{ width:calc(100svw - 3rem) }
}

/* Tooltop */
[data-tooltip] { position: relative; z-index: 2; cursor: pointer;  }
[data-tooltip]:before,
[data-tooltip]:after { visibility: hidden; opacity: 0; pointer-events: none; transition: all 300ms ease; transform: translateX(-50%) translateY(-10px); }

[data-tooltip]:before { content: attr(data-tooltip); position: absolute; bottom: 110%; left: 50%; margin-bottom: 5px; display: inline-block; min-width: 100px; padding: 7px; border-radius: 3px; background-color: #fff; color: #000; text-align: center; font-size: 14px; line-height: 1.2; }
[data-tooltip]:after { position: absolute; bottom:111%; left: 50%; width: 0; border-top: 5px solid #fff; border-right: 5px solid transparent; border-left: 5px solid transparent; content: " "; font-size: 0; line-height: 0; }

[data-tooltip]:hover:before,
[data-tooltip]:hover:after { visibility: visible; opacity: 1; transform: translateX(-50%) translateY(0px); }

@media (min-width:782px){
  .degrade {
    background:linear-gradient(to right, #000 0, #000 50%, #fff 50%, #fff 100%);
  }
}
@media (max-width: 781px) {
  .degrade > div{ padding: 0;}
  .degrade > div > .wp-block-column{ padding: 0 1.5rem; }
}

.nk-awb-fullheight.small-full-height{ min-height:82svh !important }

.slick-list> div {
	margin-left:0;
}

.liste-espacee { list-style: none; padding: 0; }
.liste-espacee li {  margin-bottom: 20px; background: url(../images/puce.svg) no-repeat 0px 9px; padding: 0 0 0 30px; }

#toggle-nav div { background: #fff; }

@media (max-width: 1199px) {
  .right-buttons .icon { width: 30px; height: 30px; }
  .right-buttons .icon svg { width: 16px; height: 16px; }
}

.accordion-links{ display:flex; align-items:center; gap:20px; margin-top:30px }
@media (max-width: 1199px) {
  .accordion-links{ display: flex; text-align: center; gap: 20px; white-space: nowrap; flex-wrap: wrap; }
  .accordion-item .accordion-content { padding-left: 0; }
}

.sur-titre { color: var(--primary); margin-bottom: 10px; font-size: 0.9rem; }
.sur-titre a{ text-decoration: none; }
.sur-titre a:is(:hover, :focus){ text-decoration: underline; }