
body {
  font-size: 1rem !important;
  line-height: 1.35 !important;
  background-color: #f8f9fa !important;
  padding-top: 200px !important;
}

/* Styles pour petits écrans mobiles */
@media (max-width: 575px) {
  body {
    padding-top: 100px !important;
  }
}

/* Styles pour grands téléphones */
@media (min-width: 576px) and (max-width: 767px) {
  body {
    padding-top: 60px !important;
  }
}

/* Styles pour tablettes / Portrait */
@media (min-width: 768px) and (max-width: 991px) {
  body {
    padding-top: 100px !important;
  }
}

/* Styles pour tablettes / Portrait */
@media (min-width: 992px) and (max-width: 1199px) {
  body {
    padding-top: 140px !important;
  }
}

body.scrolled {
	padding-top: 140px !important;
}
.mod_menu .navbar.scrolled {
	height: 140px;
	padding: 0 !important;
}

/* .bgFond {
  background-image: url('/images/v2/fond-test.png');
  background-position: top center;
  background-repeat: repeat-y;
} */

.bg_presentation {
    background-image: url('/images/v2/fond.webp');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

h1, h2, h3, h4, h5, h6, a.nav-link {
  text-transform: none !important;
  color: #000000 !important;
  font-weight: normal !important;
}

.text-normal {
  text-transform: none !important;
}

p, .paragraphe > p {
    margin: 0 !important;
}

h1 > p, h2 > p, h3 > p, h4 > p, h5 > p, h6 > p {
  font-weight: inherit !important;
}

.m-6 {
  margin:5rem!important
}
.mt-6,
.my-6 {
  margin-top:5rem!important
}
.mr-6,
.mx-6 {
  margin-right:5rem!important
}
.mb-6,
.my-6 {
  margin-bottom:5rem!important
}
.ml-6,
.mx-6 {
  margin-left:5rem!important
}
.p-6 {
  padding:5rem!important
}
.pt-6,
.py-6 {
  padding-top:5rem!important
}
.pr-6,
.px-6 {
  padding-right:5rem!important
}
.pb-6,
.py-6 {
  padding-bottom:5rem!important
}
.pl-6,
.px-6 {
  padding-left:5rem!important
}
.m-n6 {
  margin:-5rem!important
}
.mt-n6,
.my-n6 {
  margin-top:-5rem!important
}
.mr-n6,
.mx-n6 {
  margin-right:-5rem!important
}
.mb-n6,
.my-n6 {
  margin-bottom:-5rem!important
}
.ml-n6,
.mx-n6 {
  margin-left:-5rem!important
}
@media (min-width:576px) {
  .m-sm-6 {
    margin:5rem!important
  }
  .mt-sm-6,
  .my-sm-6 {
    margin-top:5rem!important
  }
  .mr-sm-6,
  .mx-sm-6 {
    margin-right:5rem!important
  }
  .mb-sm-6,
  .my-sm-6 {
    margin-bottom:5rem!important
  }
  .ml-sm-6,
  .mx-sm-6 {
    margin-left:5rem!important
  }
  .p-sm-6 {
    padding:5rem!important
  }
  .pt-sm-6,
  .py-sm-6 {
    padding-top:5rem!important
  }
  .pr-sm-6,
  .px-sm-6 {
    padding-right:5rem!important
  }
  .pb-sm-6,
  .py-sm-6 {
    padding-bottom:5rem!important
  }
  .pl-sm-6,
  .px-sm-6 {
    padding-left:5rem!important
  }
  .m-sm-n6 {
    margin:-5rem!important
  }
  .mt-sm-n6,
  .my-sm-n6 {
    margin-top:-5rem!important
  }
  .mr-sm-n6,
  .mx-sm-n6 {
    margin-right:-5rem!important
  }
  .mb-sm-n6,
  .my-sm-n6 {
    margin-bottom:-5rem!important
  }
  .ml-sm-n6,
  .mx-sm-n6 {
    margin-left:-5rem!important
  }
}
@media (min-width:768px) {
  .m-md-6 {
    margin:5rem!important
  }
  .mt-md-6,
  .my-md-6 {
    margin-top:5rem!important
  }
  .mr-md-6,
  .mx-md-6 {
    margin-right:5²rem!important
  }
  .mb-md-6,
  .my-md-6 {
    margin-bottom:5rem!important
  }
  .ml-md-6,
  .mx-md-6 {
    margin-left:5rem!important
  }
  .p-md-6 {
    padding:5rem!important
  }
  .pt-md-6,
  .py-md-6 {
    padding-top:5rem!important
  }
  .pr-md-6,
  .px-md-6 {
    padding-right:5rem!important
  }
  .pb-md-6,
  .py-md-6 {
    padding-bottom:5rem!important
  }
  .pl-md-6,
  .px-md-6 {
    padding-left:5rem!important
  }
  .m-md-n6 {
    margin:-5rem!important
  }
  .mt-md-n6,
  .my-md-n6 {
    margin-top:-5rem!important
  }
  .mr-md-n6,
  .mx-md-n6 {
    margin-right:-5rem!important
  }
  .mb-md-n6,
  .my-md-n6 {
    margin-bottom:-5rem!important
  }
  .ml-md-n6,
  .mx-md-n6 {
    margin-left:-5rem!important
  }
}
@media (min-width:992px) {
  .m-lg-6 {
    margin:5rem!important
  }
  .mt-lg-6,
  .my-lg-6 {
    margin-top:5rem!important
  }
  .mr-lg-6,
  .mx-lg-6 {
    margin-right:5rem!important
  }
  .mb-lg-6,
  .my-lg-6 {
    margin-bottom:5rem!important
  }
  .ml-lg-6,
  .mx-lg-6 {
    margin-left:5rem!important
  }
  .p-lg-6 {
    padding:5rem!important
  }
  .pt-lg-6,
  .py-lg-6 {
    padding-top:5rem!important
  }
  .pr-lg-6,
  .px-lg-6 {
    padding-right:5rem!important
  }
  .pb-lg-6,
  .py-lg-6 {
    padding-bottom:5rem!important
  }
  .pl-lg-6,
  .px-lg-6 {
    padding-left:5rem!important
  }
  .m-lg-n6 {
    margin:-5rem!important
  }
  .mt-lg-n6,
  .my-lg-n6 {
    margin-top:-5rem!important
  }
  .mr-lg-n6,
  .mx-lg-n6 {
    margin-right:-5rem!important
  }
  .mb-lg-n6,
  .my-lg-n6 {
    margin-bottom:-5rem!important
  }
  .ml-lg-n6,
  .mx-lg-n6 {
    margin-left:-5rem!important
  }
}
@media (min-width:1200px) {
  .m-xl-6 {
    margin:5rem!important
  }
  .mt-xl-6,
  .my-xl-6 {
    margin-top:5rem!important
  }
  .mr-xl-6,
  .mx-xl-6 {
    margin-right:5rem!important
  }
  .mb-xl-6,
  .my-xl-6 {
    margin-bottom:5rem!important
  }
  .ml-xl-6,
  .mx-xl-6 {
    margin-left:5rem!important
  }  
  .m-xl-6 {
    margin:5rem!important
  }
  .mt-xl-6,
  .my-xl-6 {
    margin-top:5rem!important
  }
  .mr-xl-6,
  .mx-xl-6 {
    margin-right:5rem!important
  }
  .mb-xl-6,
  .my-xl-6 {
    margin-bottom:5rem!important
  }
  .ml-xl-6,
  .mx-xl-6 {
    margin-left:5rem!important
  }
  .p-xl-6 {
    padding:5rem!important
  }
  .pt-xl-6,
  .py-xl-6 {
    padding-top:5rem!important
  }
  .pr-xl-6,
  .px-xl-6 {
    padding-right:5rem!important
  }
  .pb-xl-6,
  .py-xl-6 {
    padding-bottom:5rem!important
  }
  .pl-xl-6,
  .px-xl-6 {
    padding-left:5rem!important
  }
    .m-xl-n6 {
    margin:-5rem!important
  }
  .mt-xl-n6,
  .my-xl-n6 {
    margin-top:-5rem!important
  }
  .mr-xl-n6,
  .mx-xl-n6 {
    margin-right:-5rem!important
  }
  .mb-xl-n6,
  .my-xl-n6 {
    margin-bottom:-5rem!important
  }
  .ml-xl-n6,
  .mx-xl-n6 {
    margin-left:-5rem!important
  }
}


.mod {
  padding: 0 !important;
}

/* Neutralise le halo au clic souris */
body a:focus:not(:focus-visible),
body button:focus:not(:focus-visible),
body .btn:focus:not(:focus-visible),
body .btn:active:not(:focus-visible),
body .form-control:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

/* HOME : IMAGES DECALEES */
.img-offcanvas-left{
  margin-left: -3rem !important;
  margin-bottom: -8rem !important;
}
.img-offcanvas-right{
  margin-left: 20rem !important;
  margin-bottom: -8rem !important;
}

.display-1 {
  line-height: 1 !important;
  font-size: 7rem !important;
}

.display-4 {
  font-size: 3rem !important;
}
@media (max-width: 575px) {
  .display-4 {
    font-size: 2.4rem !important;
  }
}

.text-shadow {
  text-shadow: 0px 5px 0px #CCCCCC;
}

.img-avatar {
  width: 80px;
  height: 80px;
}

/* .banner-fixed-height {
  height: 330px !important;
} */

.bg_contain, .bg_cover {
  background-repeat: no-repeat !important;
  background-position: 0 55% !important;
}

.bg-blanc { background: #ffffff !important; }
.bg-blanc-hover:hover { background: #ffffff !important; transition: all 0.3s; }
.bg-gris { background: #878787 !important; }
.bg-gris-hover:hover { background: #878787 !important; transition: all 0.3s; }
.bg-gris-fonce { background: #3f3e3f !important; }
.bg-gris-fonce-hover:hover { background: #3f3e3f !important; transition: all 0.3s; }
.bg-gris-light { background: #DDDDDD !important; }
.bg-gris-light-hover:hover { background: #DDDDDD !important; transition: all 0.3s; }
.bg-gris-lighter { background: #EEEEEE !important; }
.bg-gris-lighter-hover:hover { background: #EEEEEE !important; transition: all 0.3s; }
.bg-rouge { background: #e30613 !important; }
.bg-rouge-hover:hover { background: #e30613 !important; transition: all 0.3s; }
.bg-noir { background: #000000 !important; }
.bg-noir-hover:hover { background: #000000 !important; transition: all 0.3s; }
.bg-vert { background: #70ad47 !important; }
.bg-vert-hover:hover { background: #70ad47 !important; transition: all 0.3s; }

.bg-overlay { background-color: rgba(63, 62, 63, 0.8) !important; }
.bg-overlay-light { background-color: rgba(204, 204, 204, 0.8) !important; }
.bg-overlay-10 { background-color: rgba(238, 238, 238, 0.10) !important; }
.bg-overlay-20 { background-color: rgba(238, 238, 238, 0.20) !important; }
.bg-overlay-30 { background-color: rgba(238, 238, 238, 0.30) !important; }
.bg-overlay-40 { background-color: rgba(238, 238, 238, 0.40) !important; }
.bg-overlay-50 { background-color: rgba(238, 238, 238, 0.50) !important; }
.bg-overlay-60 { background-color: rgba(238, 238, 238, 0.60) !important; }
.bg-overlay-70 { background-color: rgba(238, 238, 238, 0.70) !important; }
.bg-overlay-80 { background-color: rgba(238, 238, 238, 0.80) !important; }
.bg-overlay-90 { background-color: rgba(238, 238, 238, 0.90) !important; }
.bg-overlay-100 { background-color: rgba(238, 238, 238, 1) !important; }

.text-blanc { color: #ffffff !important; }
.text-blanc-hover:hover { color: #ffffff !important; transition: all 0.3s; }
.text-gris { color: #878787 !important; }
.text-gris-hover:hover { color: #878787 !important; transition: all 0.3s; }
.text-gris-fonce { color: #3f3e3f !important; }
.text-gris-fonce-hover:hover { color: #3f3e3f !important; transition: all 0.3s; }
.text-gris-light { color: #BBBBBB !important; }
.text-gris-light-hover:hover { color: #BBBBBB !important; transition: all 0.3s; }
.text-gris-lighter { color: #EEEEEE !important; }
.text-gris-lighter-hover:hover { color: #EEEEEE !important; transition: all 0.3s; }
.text-rouge { color: #e30613 !important; }
.text-rouge-hover:hover { color: #e30613 !important; transition: all 0.3s; }
.text-noir { color: #000000 !important; }
.text-noir-hover:hover { color: #000000 !important; transition: all 0.3s; }
.text-vert { color: #70ad47 !important; }
.text-vert-hover:hover { color: #70ad47 !important; transition: all 0.3s; }

.border-1 { border: 1px solid !important; }
.border-2 { border: 2px solid !important; }
.border-3 { border: 3px solid !important; }
.border-4 { border: 4px solid !important; }
.border-5 { border: 5px solid !important; }

.border-top-custom {
  border-top: 3px solid #CCCCCC !important;
}

.boder-left-blanc {
    border-left: 1px solid #FFFFFF;
}

.border-transparent { border-color: transparent !important; }

.border-blanc { border-color: #ffffff !important; }
.border-blanc-hover:hover { border-color: #ffffff !important; transition: all 0.3s; }
.border-gris { border-color: #878787 !important; }
.border-gris-hover:hover { border-color: #878787 !important; transition: all 0.3s; }
.border-gris-fonce { border-color: #3f3e3f !important; }
.border-gris-fonce-hover:hover { border-color: #3f3e3f !important; transition: all 0.3s; }
.border-gris-light { border-color: #BBBBBB !important; }
.border-gris-light-hover:hover { border-color: #BBBBBB !important; transition: all 0.3s; }
.border-gris-lighter { border-color: #EEEEEE !important; }
.border-gris-lighter-hover:hover { border-color: #EEEEEE !important; transition: all 0.3s; }
.border-rouge { border-color: #e30613 !important; }
.border-rouge-hover:hover { border-color: #e30613 !important; transition: all 0.3s; }
.border-noir { border-color: #000000 !important; }
.border-noir-hover:hover { border-color: #000000 !important; transition: all 0.3s; }
.border-vert { border-color: #70ad47 !important; }
.border-vert-hover:hover { border-color: #70ad47 !important; transition: all 0.3s; }

.rounded { border-radius: 0.375rem !important; }
.rounded-0 { border-radius: 0 !important; }
.rounded-1 { border-radius: 0.25rem !important; }
.rounded-2 { border-radius: 0.375rem !important; }
.rounded-3 { border-radius: 0.5rem !important; }
.rounded-4 { border-radius: 1rem !important; }
.rounded-5 { border-radius: 2rem !important; }
.rounded-circle { border-radius: 50% !important; }
.rounded-pill { border-radius: 50rem !important; }

.w-10 { width: 10% !important; }
.w-20 { width: 20% !important; }
.w-30 { width: 30% !important; }
.w-40 { width: 40% !important; }
.w-50 { width: 50% !important; }
.w-60 { width: 60% !important; }
.w-70 { width: 70% !important; }
.w-80 { width: 80% !important; }
.w-90 { width: 90% !important; }
.w-100 { width: 100% !important; }

/* EFFET FADE IN ON SCROLL */
.fade-in-on-scroll {
  opacity: 0;
  transform: translateY(20px); /* optionnel, pour un léger déplacement vers le haut pendant l’apparition */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade-in-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* EFFET OVERLAY ON HOVER */
.overlay-on-hover .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.15);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.overlay-on-hover:hover .overlay {
  opacity: 1;
}

/* ACCORDION FAQ */
.accordion .card-header {
  cursor: pointer;
}
.accordion .card-header .chevron {
  transition: transform 0.3s ease;
}
.accordion .card-header.collapsed .chevron {
  transform: rotate(-90deg);
}
.accordion .card-header:not(.collapsed) .chevron {
  transform: rotate(90deg);
}

/* CATALOGUE */
.breadcrumb-item + .breadcrumb-item::before {
	color: #FFFFFF !important;
}

.liste.liste-articleProduits .content_articleProduits .filters_sidebar form#filter_articleProduits .filter_options .liste_filtres {
	max-height: 195px;
	padding: 15px 0;
	overflow-y: scroll;
	overflow-x: none;
}

.img-produit-encart {
  position: absolute;
  right: 10px;
  bottom: 0;
  display: inline-flex;
  align-items: center;
}

/* CAROUSEL */
.owl-carousel-clients .owl-carousel .item img {
  max-height: 80px;
  object-fit: contain;
  margin: auto;
}
.owl-carousel-metiers .owl-carousel .item img {
  max-height: 100%;
  object-fit: contain;
  margin: auto;
}
.owl-carousel-metiers .owl-carousel .item .card {
    display: flex;
    flex-direction: column;
}
.owl-carousel-metiers .owl-carousel .item .card-body {
    flex: 1 1 auto;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
	background: #e30613 !important;
}
.owl-theme .owl-dots .owl-dot span {
	width: 15px !important;
	height: 15px !important;
}
.owl-theme .owl-nav.disabled + .owl-dots {
	margin-top: 40px !important;
}

/* TIMELINE */
.timeline {
  position: relative;
}
.line {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: #878787;
  transform: translateY(-50%);
}
.events {
  position: relative;
  display: flex;
  justify-content: space-between;
  z-index: 1;
}
.event {
  position: relative;
  text-align: center;
  width: calc(100% / 13); /* Ajuste selon nbr d'événements */
}
.event.top {
  top: -118px;
}
.event.bottom {
  top: 135px;
}

/*.event.top::after {*/
.point-top {
  content: "";
  position: absolute;
  top: 110%;
  left: 40%;
  width: 18px;
  height: 18px;
  background-color: #dc3545;
  border-radius: 50%;
}
/*.event.bottom::after {*/
.point-bottom {
  content: "";
  position: absolute;
  top: -30%;
  left: 40%;
  width: 18px;
  height: 18px;
  background-color: #dc3545;
  border-radius: 50%;
}

/* FOOTER */
/* .mod.mod_footer {
	background-color: #EEEEEE !important;
} */
.mod.mod_footer ul li a {
	text-transform: none !important;
  font-size: initial !important;
}


/*.navbar.scrolled,
.navbar.top-nav-collapse,
body.scrolled {
  padding: initial !important;
  height: initial !important;
}*/

/*.mod_menu .navbar {
  height: initial;
  padding-top: 0;
	transition: none;
}*/

/* MENU */
.mod_menu .navbar .navbar-brand {
	/*padding: 15px 20px;*/
	-webkit-transform:none !important;
	-ms-transform:none !important;
	transform:none !important;
  padding: 0 !important;
}
.mod_menu .navbar {
	height: auto !important;
  padding: 0 !important;
  transition: all .2s ease !important;
}
@media (min-width: 1600px) {
  .mod_menu .navbar .navbar-nav-bottom a.nav-link {
    font-size: inherit !important;
  }
}


/* NOUS REJOINDRE */
@media (max-width: 575px) {
  .card-article {
    height: 430px;
  }
  .card-article .card-img {
    position: absolute !important;
    bottom: 0 !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .card-article .card-img {
    width: 460px !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .card-article {
    height: 350px;
  }
  .card-article .card-img {
    position: absolute !important;
    bottom: 0 !important;
  }
}


/* MENU MOBILE */
.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 1040;
}
  /* Menu offcanvas */
.offcanvas-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;        /* prend toute la largeur de l'écran */
  height: 100%;
  transition: left 0.3s ease;
  z-index: 1050;
}
.offcanvas-menu.show {
  left: 0;
}
.offcanvas-menu a {
  display: block;
  text-decoration: none;
}
/* Bouton de fermeture */
.offcanvas-close {
  /*top: 10px;*/
  /*right: 15px;*/
  background: none;
  border: none;
  outline: none;
}
.offcanvas-close:hover {
}
/* Bloquer le scroll quand le volet est ouvert */
.body-no-scroll {
  overflow: hidden;
  height: 100vh;
}

.mod_menu #mobile-menu ul li a {
	font-size: inherit !important;
	text-decoration: none;
	display: inline-block;
}




/* MENU TOBBAR */
/* .mod_menu .navbar .nav-infos {
	height: inherit !important;
} */


/* SEARCH BAR */
.mod.mod_search_bar {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
.mod.mod_search_bar #form_search_header {
  max-width: none !important;
  margin: 0 !important;
  position: static !important;
}
.mod.mod_search_bar #form_search_header input {
	/*background-color: #DDDDDD !important;*/
	/*border:none !important;*/
	height:inherit !important;
	padding: 0;
	text-transform:none !important;
	font-weight:normal !important;
	letter-spacing: 1px;
	color: #000000 !important;
	font-size:inherit !important;
}
.mod.mod_search_bar #form_search_header input.form-control::placeholder {
  color: #666666;
  font-size: inherit !important;
  font-weight: normal !important;
}
.mod.mod_search_bar #form_search_header .input-group {
  border-color: #3f3e3f;
}
.btn-search {
	/*background: #DDDDDD !important;*/
	text-transform:none !important;
	font-size:inherit !important;
	color: #666;
}
.input-group-append {
  margin-left: -10px;
}
/* SEARCH BAR - RESULTATS */
.mod.mod_search_bar #form_search_header #result_form_search_header {
	background-color: #FFFFFF !important;
	padding: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: 100% !important;
  margin: 0 auto !important;
  width: 97% !important;
  z-index: 10000 !important;
	-webkit-box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}
.mod.mod_search_bar #form_search_header #result_form_search_header > ul > li {
	padding: 5px 15px !important;
  margin: 0 !important;
}
.mod.mod_search_bar #form_search_header #result_form_search_header > ul > li:hover,
.mod.mod_search_bar #form_search_header #result_form_search_header > ul > li:hover > a {
	background-color: #DDDDDD !important;
	color: #e30613 !important;
}
.mod.mod_search_bar #form_search_header #result_form_search_header > ul > li a {
  font-weight: 400 !important;
  color: #3f3e3f !important;
}
.mod.mod_search_bar #form_search_header #result_form_search_header > ul > li a:hover {
	color: #e30613 !important;
}

/* ACTUALITES */
.jour {
	font-size: 50px;
	font-weight: 600;
	color: #d8131c;
	display: block;
}
.mois {
	font-size: 28px;
	font-weight: 200;
	color: #3d3c3c;
	display: block;
	margin-top: -15px;
}
.annee {
	font-size: 26px;
	font-weight: 200;
	color: #d8131c;
	display: block;
	margin-top: -10px;
}

/* GRAPHIQUE EXPERTISES */
.dot-graph {
	content: "";
	position: absolute;
	top: 30%;
	left: 46%;
	width: 26px;
	height: 26px;
	background-color: #FFFFFF;
	border-radius: 50%;
}
@media (max-width: 575px) {
  .dot-graph {
    top: 36%;
  }
}
@media (min-width: 576px) and (max-width: 767px) {
  .dot-graph {
    top: 16%;
    left: 43%;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .dot-graph {
    top: 16%;
    left: 43%;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .dot-graph {
    top: 26%;
  }
}
.dot-color-noir { border: 5px solid #000000; }
.dot-color-gris-fonce { border: 5px solid #3f3e3f; }
.dot-color-gris { border: 5px solid #878787; }
.dot-color-rouge { border: 5px solid #e30613; }

