@font-face {
  font-family: 'Akzidenzg';
  src: url(../fonts/akzidenzgroteskpro_regular.woff2);
  src: 
       url(../fonts/akzidenzgroteskpro_regular.woff) format('woff'),
       url(../fonts/akzidenzgroteskpro_regular.woff2) format('woff2');
}
@font-face {
  font-family: 'Akzidenzg-Light';
  src: url(../fonts/akzidenzgroteskpro_light.woff2);
  src: 
       url(../fonts/akzidenzgroteskpro_light.woff) format('woff'),
       url(../fonts/akzidenzgroteskpro_light.woff2) format('woff2');
}
@font-face {
  font-family: 'Akzidenzg-ExtraBold';
  src: 
       url(../fonts/akzidenzgroteskpro_xbd.woff) format('woff'),
       url(../fonts/akzidenzgroteskpro_xbd.woff2) format('woff2');
}


:root {
  --Vert: #144734;
  
}
.introBannerBlock.introBannerBlockVii:before {background-color: transparent;}
.page-direction {display: none;}


html {font-size: 15px;}
body {font-size: 18px; line-height: 1.4; color: #000; background-color: #fff; font-family: 'Akzidenzg';}

p, ul, table {font-size: 1em;margin-bottom:1em;}
a {color: var(--Rouge);text-decoration: none;}
a:hover {color: var(--Vert);text-decoration: none;}
a.unstyled {color: inherit;text-decoration: underline;}




/**************** HEADER et NAVIGATION ***************************/
.logo {max-width: 65px;}
@media (min-width: 768px) {
    .logo.logoVii {
        max-width: 90px;
    }
}
@media (min-width: 992px) {
    .logo {max-width: 106px;}
	.phStickyWrap.phVii {height: 116px;}
}

.mainNavigation .nav-item {text-transform: uppercase; }

.mainNavigation .nav-item.active .nav-link, .navbar-light .mainNavigation .nav-link:hover {color: var(--Vert);}
.mainNavigation .nav-item.active .nav-link, .navbar-light .mainNavigation .nav-link:hover {color: var(--Vert);}

.navbarSide {background: var(--Vert);}
.mainSideNavigation .nav-item.active .nav-link, .navbar-light .mainSideNavigation .nav-link:hover {color:#fff;}

.mnDropList a:hover {color: var(--Vert);}

@media (min-width: 768px) {
	.mainNavigation .nav-link {font-size: 16px;}
	.mainNavigation.mainNavigationVii .nav-item {margin-left: 21px;}
	.mainNavigation  li {
    margin-bottom: 0.5rem; /* espacement vertical entre items */
	margin-top: 0.5rem;
  }
  
  /* Taille générale du menu */
  .navbar-expand-md .mndDropMenu.menu-espaces {
    width: 550px;
  }

  /* Liste en masonry */
  .navbar-expand-md .mndDropMenu.menu-espaces ul {
    margin: 0;
    padding: 0;
    list-style: none;

    /* Masonry columns */
    column-count: 2;       /* nombre de colonnes */
    column-gap: 1.5rem;    /* espacement horizontal entre colonnes */
  }

  /* Items */
   .navbar-expand-md .mndDropMenu.menu-espaces li {
    display: inline-block;
    width: 100%;
    margin-bottom: 0.5rem; /* espacement vertical entre items */
    break-inside: avoid;   /* empêche la coupure d’un item entre colonnes */
  }

  /* Liens */
  .navbar-expand-md .mndDropMenu.menu-espaces a {
    display: block;
    padding: 0.3rem 0;      /* padding vertical */
    text-decoration: none;
  }
}
@media (min-width: 992px) {
    .mainNavigation .nav-link {font-size: 19px;}
	.mainNavigation.mainNavigationVii .nav-item {margin-left: 40px;}
}



/**************** SLIDER ***************************/
.hClassViii .btn-dark.btnDarkInverse:hover {background-color: var(--Vert); border-color: var(--Vert);}
.introBannerBlock.introBannerBlockVii:after {display: none;}
.introBannerBlock.hdIsVii {
  min-height: 45vh !important;
}
.page-home .slick-slider h1 {font-family: 'Akzidenzg'; font-weight: 900;}
.mainHeadingTitle, .ibbHeading  {/*text-shadow: #fff 1px 0 5px;*/ color: var(--Vert); font-size: 75px; 
  text-shadow:
    -1px -1px 0 white,
     1px -1px 0 white,
    -1px  1px 0 white,
     1px  1px 0 white;}
.introBannerBlock::before {display: none;}

@media (min-width: 768px) {
  .introBannerBlock.hdIsVii {min-height: 60vh !important;}
}
@media (min-width: 992px) {
	.mainHeadingTitle, .ibbHeading  {font-size: 95px;}
}
@media (min-width: 1200px) {
	.mainHeadingTitle, .ibbHeading  {font-size: 140px;}
}
@media (min-width: 1500px) {
  .introBannerBlock.hdIsVii {min-height: 70vh !important;}
  
}




/**************** HOMEPAGE ***************************/
.hClassViii .btnGo:hover {color: var(--Vert);}
.listing-types-espaces article .imgHolder img {display: block; margin-left: 35%; width: 30%; padding-top: 65px; padding-bottom: 15px;}
.hClassViii .ueecTimeTag .day {background-color: var(--Vert)!important;}
.hClassViii .nb-espaces {background-color: var(--Vert)!important; color: #fff; position: absolute; top: 0; width: 100%; height: 34px; padding: 4px 10px; font-size: 18px;}
.hClassViii .nb-espaces span {font-weight: 700;}
/*.ueecTimeTag {top: 0;}
.ueEveColumn:hover .ueecTimeTag {top: 20px;}*/
.ueEveColumn:hover .nb-espaces {top: 20px;}
.hClassViii .btnGre5.btnGre5Outline:hover {background-color: var(--Vert); border-color: var(--Vert);}
.plaquette-lieu {color: #fff; position: relative; z-index: 1;}
.plaquette-lieu:before {position: absolute; content: ''; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.4; z-index: -1;}


/**************** PAGE LIEU ***************************/
body.page-lieu article .imgHolder img {aspect-ratio: 4/3;}
body.page-lieu .row.justify-content-center {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; /* tous les enfants de la row auront la même hauteur */
}

body.page-lieu .row.justify-content-center .col-12.col-md-6.col-lg-4 {
  display: flex;
}

body.page-lieu .ueEveColumn {
  display: flex;
  flex-direction: column;
}




/**************** PAGE ESPACE ***************************/
body.page-espace h1 {color: var(--Vert);}
body.page-espace .listing-caracteristiques .item .titre {font-weight: bold; text-transform: uppercase; color: var(--Vert);}
body.page-espace .listing-caracteristiques .item .valeur {font-weight: bold;}
body.page-espace .listing-documents a{position: relative; padding-left: 28px;}
body.page-espace .listing-documents a:before {content: ''; position: absolute; top:2px; left: 0; width: 18px; height: 18px; background: url(../images/document.svg) center center no-repeat; background-size: 100%;}
body.page-espace .listing-documents .ligne {margin-top: 4px;}





#slider-vehicule .slides li {
  position: relative;
}
#slider-vehicule .slide-bg {
  width: 100%;
  height: 500px; /* hauteur fixe */
  background-size: cover;
  background-position: center;
  border-top-left-radius: 8px; border-top-right-radius: 8px;
}

/* Carousel wrapper (contient flèches + thumbnails) */
#carousel-wrapper-vehicule {
  position: relative;
  display: flex;
  align-items: center; background: #f4f4f7;
  padding: 15px; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;
}

/* Flexslider thumbnails */
#carousel-thumbs {
  flex: 1;
  margin: 0 35px; /* laisse la place aux flèches */
}
#carousel-thumbs .slides li {
  position: relative; 
}
#carousel-thumbs .thumb-bg {
  width: 100%;
  height: 80px;
  background-size: cover;
  background-position: center;
  border-radius: 4px;
}

/* Boutons prev/next */
.carousel-prev,
.carousel-next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  /* background supprimé, plus de rond semi-transparent */
  border-radius: 50%;
  text-decoration: none;
  cursor: pointer;
  z-index: 10;
  /* on peut garder la transition pour le fill du SVG */
  transition: all 0.2s ease;
}

.carousel-next svg {
  transform: rotate(180deg);
}

/* supprime l'ancien hover qui change le background */
.carousel-prev:hover,
.carousel-next:hover {
  background: none;
}


.carousel-prev svg .arrow,
.carousel-next svg .arrow {
  fill: var(--GrisBleute); /* couleur normale */
  transition: fill 0.2s ease;
}

.carousel-prev:hover svg .arrow,
.carousel-next:hover svg .arrow {
  fill: #666688; /* couleur plus foncée au survol */
}


.carousel-prev svg,
.carousel-next svg {
  width: 20px;
  height: 20px;
}

/* Positionnement des flèches */
.carousel-prev {
  left: 0;
}
.carousel-next {
  right: 0;
}

#carousel-thumbs .thumb-bg {
  position: relative;
  cursor: pointer;
}

#carousel-thumbs .thumb-bg::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,0.4);
  border-radius: 4px;
  transition: background 0.3s ease;
}

/* vignette active → pas de voile */
#carousel-thumbs .flex-active-slide .thumb-bg::after {
  background: transparent;
}

/* curseur "main" */
#carousel-thumbs .thumb-bg {
  cursor: pointer;
}

#carousel-thumbs .thumb-bg {
  cursor: pointer;
}

/* Caption sur la photo principale */
.slide-caption {
  position: absolute;
  font-weight: 400; font-family: "Funnel Display", sans-serif; font-size: 1em; 
  bottom: 12px;    /* espace par rapport au bas */
  left: 12px;      /* espace par rapport à gauche */
  color: white;
  text-shadow: 0 2px 4px rgba(0,0,0,0.6); /* pour lisibilité sur fonds clairs */
  pointer-events: none; /* le texte ne bloque pas le clic sur la slide */
  text-transform: uppercase;
}


.row-espace {margin-right: -30px; margin-left: -30px;}
.row-espace > div {padding-right: 30px; padding-left: 30px;}
.row-espace .colonne-infos ul {margin-left: 0; padding-left: 20px;}



body.page-espace .bt-reserver {background: var(--Vert);}
body.page-espace .bt-reserver:hover {background: #000;}




/* ******************************* PAGE CMS */
body.page-page h3 {margin-top: 4rem;}








/* ******************************* ICONCAPTCHA */
.iconcaptcha-holder .iconcaptcha-modal__body-icons {
  max-width: 100%; /* occupe toute la largeur disponible */
  height: 40px;    /* réduit la hauteur pour mobile */
  background-size: contain; /* ajuste le sprite pour qu’il tienne */
  background-position: center;
}
@media (max-width: 480px) {
  .iconcaptcha-holder .iconcaptcha-modal__body-icons {
    height: 35px;        /* réduit légèrement */
    background-size: 90% 100%; /* adapte le sprite pour tenir sur l’écran */
  }
}




/* SLICKSLIDER */

.slick-slider {position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list {position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus {outline: none; }
.slick-list .bouton a {background: var(--Vert); color: #fff; line-height: 1; }
.slick-list .bouton a:hover {text-decoration: none; opacity: 0.9;}
.slick-list.dragging {cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list {-webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track {position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after {display: table; content: ''; }
.slick-track:after {clear: both; }
.slick-loading .slick-track {visibility: hidden; }
.slick-slide {display: none; float: left; height: 100%; min-height: 1px; }
[dir='rtl'] .slick-slide {float: right; }
.slick-slide img {display: block; }
.slick-slide.slick-loading img {display: none; }
.slick-slide.dragging img {pointer-events: none; }
.slick-initialized .slick-slide {display: block; }
.slick-loading .slick-slide {visibility: hidden; }
.slick-vertical .slick-slide {display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden {display: none; }
.slick-loading .slick-list:after { background-color: rgba(0, 0, 0, .3); content:""; display:block; width: 40px; height: 40px; position: absolute; left: 50%; margin-left: -20px; top: 50%; margin-top: -20px; -webkit-animation: rotate-loading 1.2s infinite ease-in-out; animation: rotate-loading 1.2s infinite ease-in-out; }
@-webkit-keyframes rotate-loading {0% { -webkit-transform: perspective(120px)} 50% { -webkit-transform: perspective(120px) rotateY(180deg)} 100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg)} }
@keyframes rotate-loading {0% { transform: perspective(120px) rotateX(0deg) rotateY(0deg);-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)} 50% { transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)} 100% { transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);} }

/* Arrows */
.slick-prev, .slick-next {bottom: 0; border: 0; font-size: 0; line-height: 0; opacity: .7;position: absolute; z-index: 99; display: block;  padding: 0; text-decoration: none !important; overflow: hidden; cursor: pointer; color: transparent;  outline: none; background: transparent; }
.slick-prev:hover, .slick-next:hover {color: transparent; outline: none; background: transparent;opacity: 1;}
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {opacity: .45;}
.slick-prev:before, .slick-next:before {width: 54px; height: 24px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: ""; display: block; background-repeat: no-repeat; background-position: center center;}
.slick-prev {left: 50%; margin-left: -57px;}
.slick-prev:before {background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.7 21.9'><path fill='%23777' d='M12,21.6l-11.2-10c-0.4-0.4-0.4-1,0-1.4L12,0.2c0.4-0.3,1-0.3,1.3,0.1c0.3,0.4,0.3,1-0.1,1.3L3.9,10h45.9 c0.5,0,0.9,0.4,0.9,0.9c0,0.5-0.4,0.9-0.9,0.9H3.9l9.4,8.4c0.2,0.2,0.3,0.4,0.3,0.7c0,0.2-0.1,0.4-0.2,0.6C13,21.9,12.4,22,12,21.6'/></svg>"); }
.slick-next:before {background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.7 21.9'><path fill='%23777' d='M39,21.6l11.2-10c0.4-0.4,0.4-1,0-1.4L39,0.2c-0.4-0.3-1-0.3-1.3,0.1c-0.3,0.4-0.3,1,0.1,1.3l9.4,8.4H1.2 c-0.5,0-0.9,0.4-0.9,0.9c0,0.5,0.4,0.9,0.9,0.9h45.9l-9.4,8.4c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.2,0.1,0.4,0.2,0.6 C38,21.9,38.6,22,39,21.6'/></svg>");}
.slick-next {left: 50%; margin-left: 17px;}
@media (min-width: 768px) { 
	.slick-prev, .slick-next {bottom:auto;top: 50%; -webkit-transform: translate(0, -50%); transform: translate(0, -50%); margin-left: 0;}
	.slick-prev {left: -60px;}
	.slick-next {left: auto; right: -60px;}
}
@media (min-width: 1200px) { 
	.slick-prev {left: -80px;}
	.slick-next {right: -80px;}
}
@media (min-width: 1500px) { 
	.slick-prev {left: -90px;}
	.slick-next {right: -90px;}
}

/* Dots */
.slick-dots {bottom: 15px;position: absolute; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; }
.slick-dots li {width: 16px; height: 16px; margin: 0 6px;position: relative; display: inline-block; padding: 0; cursor: pointer; }
.slick-dots li button {width: 16px; height: 16px; opacity: 0.9;font-size: 0; background: none; border: solid 1px #fff; line-height: 0; display: block; cursor: pointer; /*color: transparent; border: 0; outline: none;*/border-radius: 16px;box-shadow: 1px 1px 3px rgba(0, 0, 0, .5);}
.slick-dots li button:hover {outline: none; opacity: .9; background: #fff;}
.slick-dots li.slick-active button {opacity: 1; background: #fff;}
/*@media (min-width: 480px) { 
	.slick-dots li,
	.slick-dots li button {width: 30px; height: 30px;}
}*/
@media (min-width: 768px) { 
	.slick-dots {bottom: 20px;} 
	.slick-dots li,
	.slick-dots li button {width: 16px; height: 16px;}
}
@media (min-width: 1200px) { 
	.slick-dots {bottom: 40px;} 
}

/* main slider */

.slick-mainslider,
.slick-mainslider .slick-slide {height: 280px;}
.slick-mainslider .slick-slide {background-position: center center; background-repeat: no-repeat;background-size: cover;}
@media (min-width: 480px) { 
	.slick-mainslider,
	.slick-mainslider .slick-slide {height: 500px;/* background: url(../images/home/bg-slider-degrade.png) bottom center no-repeat; background-size: 100%;*/}
	.slick-mainslider .slide-content {padding-top: 240px;}
}
@media (min-width: 1200px) { 
	.slick-mainslider,
	.slick-mainslider .slick-slide {height: 600px;}
}







/* carousel */

.slick-carousel {padding-bottom: 40px;}
.slick-carousel .slick-slide {text-align: center;}
.carousel-item {display: inline-block;}
.carousel-item a {position: relative;display: block; text-align: left;}
.slick-carousel .slick-track > .slick-slide:nth-child(even) > .carousel-item a .layer {justify-content: end;}
.carousel-item a img {border-radius: 10px;}
.carousel-item a .layer {position: absolute; left: 0; top: 0; right: 0; bottom: 0; color: #fff; padding: 25px; background-color: rgba(0, 0, 0, .15);border-radius: 10px;-webkit-transition: all .4s 0s; transition: all .4s 0s;}
.carousel-item a:hover .layer {background-color: rgba(0, 0, 0, .3);}
.slick-carousel .slick-track > .slick-slide:nth-child(even) > .carousel-item a:hover .layer {padding-bottom: 45px;}
.slick-carousel .slick-track > .slick-slide:nth-child(odd) > .carousel-item a:hover .layer {padding-top: 45px;}
.carousel-item a .layer .date {text-transform: uppercase;margin-bottom: .6em;}
.carousel-item a .layer .title {font-weight: 800;font-size: 1.375em; line-height: 1.25em;margin: 0;}
@media (min-width: 768px) { 
	.slick-carousel {padding-bottom: 0;}
}/*
@media (min-width: 992px) { 
	.carousel-item {width: 280px;}
	.carousel-item a .layer {font-size: .9em;}
}
@media (min-width: 1200px) { 
	.carousel-item {width: 320px;}
	.carousel-item a .layer {font-size: 1em;}
}*/




/* Slider */
.flex-container a:hover, .flex-slider a:hover, .flex-container a:focus, .flexslider a:focus {outline: none; }
.flexslider .slides, .flexslider .slides > li, .flex-control-nav, .flex-direction-nav {margin: 0; padding: 0; list-style: none;} 
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;}
.flexslider .slides img {-moz-user-select: none;}
.flexslider .slides:after {content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
html[xmlns] .flexslider .slides {display: block; }
* html .flexslider .slides {height: 1%; }
.no-js .flexslider .slides > li:first-child {display: block; }
.flexslider {margin: 0 auto; position: relative; zoom: 1;height:auto;}
.flexslider .slides {zoom: 1; z-index: 50;}
.flexslider .slides > li {position:relative;}
.flex-viewport {max-height: 2000px;-webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; }
.loading:after { background-color: #c20e1a; content:""; display:block; width: 40px; height: 40px; position: absolute; left: 50%; margin-left: -20px; top: 50%; margin-top: -20px; -webkit-animation: rotate-loading 1.2s infinite ease-in-out; animation: rotate-loading 1.2s infinite ease-in-out; }
@-webkit-keyframes rotate-loading {0% { -webkit-transform: perspective(120px)} 50% { -webkit-transform: perspective(120px) rotateY(180deg)} 100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg)} }
@keyframes rotate-loading {0% { transform: perspective(120px) rotateX(0deg) rotateY(0deg);-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)} 50% { transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)} 100% { transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);} }

.flex-control-paging {width: 100%; position: absolute; bottom: 20px; text-align: center; z-index: 70}
.flex-control-paging li {margin: 0 5px!important; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {background-color: #fff;opacity: 0.5; font-size: 0; width: 15px; height: 15px; border-radius: 50%; display: block;cursor: pointer;}
.flex-control-paging li a:hover, .flex-control-paging li a:focus {opacity: 0.75;}
.flex-control-paging li a.flex-active {opacity: 1 !important;}



/* ******************************* COOKIES */
.cookies-bandeau {color: #fff; background: var(--Vert); position: fixed; bottom: 0; width: 100%; margin-bottom: -160px; transition: all 1.5s; z-index: 2500;}
.cookies-bandeau.actif {margin-bottom: 0;}
.cookies-bandeau .plus {text-decoration: underline; color: #fff;}
.cookies-bandeau .btn {background: #fff; padding: 9px 14px; background-color: #333; font-size: 1.15em; color: #fff;}
.cookies-bandeau .btn:hover {text-decoration: none; background-color: #111; }
@media (min-width: 992px) {
	.cookies-bandeau {margin-bottom: -80px;}
}



