@font-face {
  font-family: 'Tomarik Brush';
  src: url('../fonts/tomarik-brush.woff2') format('woff2'), url('../fonts/tomarik-brush.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  /* Meilleure perf et UX */
}
/*COULEURS*/
:root {
  --retz: #1C3077;
  --texte: #333333;
  --blanc: #FFF;
  --blanc-casse: #F8F5ED;
  --facebook: #4267B2;
  --bleuAA: #2E5D87;
  --bleu: #2f7e98;
  --bleu-ciel: #7EC6E3;
  --bleu-frais: #2f7e98;
  --orangeAA: #D65A27;
  --orange: #ae6242;
  --jauneAA: #8a6a00;
  --jaune: #F6C746;
  --jaune-clair: #FBEBBE;
  --vertAA: #4F7D51;
  --vert: #518152;
  --violetAA: #6A3FA4;
  --violet: #A367B1;
}
/*---COULEUR TEXTE*/
.texte {
  color:var(--texte) !important;
}
.texte-noir {
  color:var(--texte) !important;
}
.texte-blanc {
  color:var(--blanc) !important;
}
.texte-facebook {
  color:var(--facebook) !important;
}
.texte-retz {
  color:var(--retz) !important;
}
.texte-vert {
  color:var(--vertAA) !important;
}
.texte-violet {
  color:var(--violetAA) !important;
}
.texte-orange {
  color:var(--orangeAA) !important;
}
.texte-bleu {
  color:var(--bleu-frais) !important;
}
#landing .texte-bleu-2 {
  color:var(--bleuAA) !important;
}
.texte-or {
  color:var(--jauneAA) !important;
}
/*---COULEUR BLOC*/
.bg-beige {
  background-color:var(--blanc-casse);
}
.bg-orange {
  background-color:var(--bg-organiseur-orange);
}
.bg-vert {
  background-color:var(--bg-organiseur-vert);
}
.bg-bleu {
  background-color:var(--bg-organiseur-bleu);
}
.bg-rose {
  background-color:var(--bg-organiseur-rose);
}
.bg-facebook {
  background-color:var(--facebook);
}
/*---DEGRADE  BLOC*/
.dg-blanc {
  background:linear-gradient( to bottom, var(--blanc) 0%, transparent 100% );
}
.dg-beige {
  background: linear-gradient( to bottom, var(--bg-organiseur-beige) 0%, transparent 100% );
}
.dg-orange {
  background:linear-gradient( to bottom, var(--bg-organiseur-orange) 0%, transparent 100% );
}
.dg-vert {
  background:linear-gradient( to bottom, var(--bg-organiseur-vert) 0%, transparent 100% );
}
.dg-bleu {
  background:linear-gradient( to bottom, var(--bg-organiseur-bleu) 0%, transparent 100% );
}
.dg-rose {
  background:linear-gradient( to bottom, var(--bg-organiseur-rose) 0%, transparent 100% );
}
.dg-facebook {
  background:linear-gradient( to bottom, var(--facebook) 0%, transparent 100% );
}
/*---COULEUR BOUTON*/
.gris {
  background:var(--texte) !important;
}
.blanc {
  background:var(--blanc) !important;
  color:var(--texte) !important;
}
.retz {
  background:var(--retz) !important;
  color:var(--blanc) !important;
}
.facebook {
  background:var(--facebook) !important;
  color:var(--blanc) !important;
}
.vert {
  background:var(--vert) !important;
  color:var(--blanc) !important;
}
.violet {
  background:var(--violet) !important;
  color:var(--blanc) !important;
}
.orange {
  background:var(--orange) !important;
  color:var(--blanc) !important;
}
.bleu {
  background:var(--bleu) !important;
  color:var(--blanc) !important;
}
/*FONTS*/
#landing, MAIN .text-formatted #landing P {
  font-size: 20px;
  margin-top: 0;
  margin-bottom: 0.6em;
}
MAIN .text-formatted #landing P A {
  color:var(--bleuAA) !important;
}
#landing .text-left {
  text-align: left;
}
/*DIVERS*/
#landing .text-right {
  text-align: right;
}
#landing .text-center {
  text-align: center;
}
#landing .embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
#landing .embed-responsive.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
#landing .embed-responsive .embed-responsive-item, #landing .embed-responsive IFRAME, #landing .embed-responsive EMBED, #landing .embed-responsive OBJECT {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
#landing HR {
  padding: 1em;
  margin: 0;
  height: 48px;
  border: none;
}
#landing HR.hr-orange {
  background: url('../img/hr-orange.svg') center center / 100% 48px no-repeat;
}
#landing HR.hr-vert {
  background: url('../img/hr-vert.svg') center center / 100% 48px no-repeat;
}
#landing HR.hr-jaune {
  background: url('../img/hr-jaune.svg') center center / 100% 48px no-repeat;
}
/*BOUTON*/
#landing .bouton {
  display: inline-block;
  padding: 0.5em 1rem;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease, filter 0.3s ease;
  font-weight: 600;
  text-transform: uppercase;
  line-height: normal;
  font-size: 0.9em;
  font-family: "Hanken Grotesk", sans-serif;
  /*+box-shadow: inset 0px -3px rgba(0, 0, 0, 0.1) !important;*/
  -moz-box-shadow: inset 0px -3px rgba(0, 0, 0, 0.1) !important;
  -webkit-box-shadow: inset 0px -3px rgba(0, 0, 0, 0.1) !important;
  box-shadow: inset 0px -3px rgba(0, 0, 0, 0.1) !important;
}
MAIN .text-formatted #landing A.bouton {
  color: #FFFFFF !important;
}
#landing .bouton-sm {
  padding: 1rem 0.75rem;
  border-radius: 4px;
  font-size: 0.7em;
}
#landing .bouton:hover, #landing .bouton:focus {
  filter: brightness(1.25);
  text-decoration: none;
  outline: none;
}
#landing .bouton.bouton-menu {
  border: 2px solid black;
  font-size: 28px;
  font-weight: 900;
  background-color: #FFFFFF;
  /*+box-shadow: none !important;*/
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
#landing .bouton.bouton-menu.outline-orange {
  border-color:var(--orangeAA)!important;
  color:var(--orangeAA)!important;
}
#landing .bouton.bouton-menu.outline-vert {
  border-color:var(--vertAA)!important;
  color:var(--vertAA)!important;
}
#landing .bouton.bouton-menu.outline-jaune {
  border-color:var(--jauneAA)!important;
  color:var(--jauneAA)!important;
}
#landing .bouton.bouton-menu.outline-bleu {
  border-color:var(--bleuAA) !important;
  color:var(--bleuAA) !important;
}
/* landing-nav*/
#landing .landing-nav {
  text-align: center;
  padding: 1em 0 2em;
}
#landing .landing-nav-toggle {
  display: block;
  text-align: center;
  box-sizing: border-box;
  background:var(--retz);
  border: none;
  padding: 0.5rem 1rem;
  font-size: 28px;
  font-weight: 900;
  cursor: pointer;
  color:var(--blanc);
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 auto;
  /*+border-radius: 4px;*/
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -khtml-border-radius: 4px;
  border-radius: 4px;
}
#landing .landing-nav-toggle:hover {
  filter: brightness(1.15);
  text-decoration: none;
  outline: none;
  /* léger fond au hover */
}
#landing .landing-nav-list {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0 !important;
  list-style: none;
  align-items: center;
}
#landing .landing-nav-list LI::before {
  display: none !important;
  /* supprime les puces éventuelles */
}
#landing .landing-nav-list LI {
  margin-right: 10px;
}
#landing .landing-nav-list LI:last-child {
  margin-right: 0;
}
/*TITRES*/
#landing H2.cap.icon {
  display: flex;
  align-items: center;
  margin: 0.25em 0;
  font-size: 56px;
  line-height: 1;
  padding-left: 0;
}
#landing H2.cap.icon IMG {
  display: block;
}
#landing H2.cap.icon SPAN {
  margin-left: 0.125em;
  margin-top: 0.125em;
  font-family: "Tomarik Brush", sans-serif !important;
}
#landing H3, #landing .h3 {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-size: 36px;
  line-height: 1.2;
  margin: 0.25em 0 0.5em;
  padding: 0;
  font-weight: bold;
  color:var(--bleuAA) !important;
}
#landing H4, #landing .h4 {
  font-family: "Hanken Grotesk", sans-serif !important;
  font-size: 28px;
  line-height: 1.2;
  margin: 0.25em 0 0.5em;
  padding: 0;
  font-weight: bold;
  color:var(--texte) !important;
}
#landing H5, #landing .h5 {
  font-family: "Hanken Grotesk", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  margin: 0.25em 0 0.5em;
  padding: 0;
  font-weight: bold;
  color:var(--texte) !important;
}
#landing P.legende {
  font-size: 0.7em !important;
  font-style: italic;
}
#landing A.titre {
  font-weight: bold;
  text-decoration: none;
  color:var(--bleuAA);
}
#landing A.titre SPAN.gellule {
  font-family: "Hanken Grotesk", sans-serif;
  padding: 0.15em 0.25em;
  /*+border-radius: 8px;*/
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  -khtml-border-radius: 8px;
  border-radius: 8px;
}
/*TITRES*/
#landing .outil-titre {
  text-align: center;
  margin: 2em 0 0.5em;
}
#landing .outil-titre H4 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--blanc);
  color:var(--bleuAA) !important;
  padding: 0.5em 0.75em !important;
  border-radius: 1em;
  position: relative;
  font-family: "Tomarik Brush", sans-serif !important;
  font-size: 1.8em;
  line-height: 1;
  padding-left: 0;
}
#landing .outil-titre H4::before, #landing .outil-titre H4::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.35em 0.7em;
  margin: 0 0.5em;
}
#landing .outil-titre H4::before {
  border-color:transparent transparent transparent var(--orange);
  position: absolute;
  left: -0.75em;
}
#landing .outil-titre H4::after {
  border-color:transparent var(--orange) transparent transparent;
  position: absolute;
  right: -0.75em;
}
/*LISTES*/
#landing UL.list {
  padding-left: 24px;
}
#landing UL.list LI {
  margin-bottom: 0.5em;
}
MAIN .text-formatted #landing UL.list.list-orange LI::before {
  content: "";
  display: block;
  position: absolute;
  left: -16px;
  top: 10px;
  width: 8px;
  height: 8px;
  background-color:var(--orange);
  border-radius: 50%;
}
MAIN .text-formatted #landing UL.list.list-vert LI::before {
  content: "";
  display: block;
  position: absolute;
  left: -16px;
  top: 10px;
  width: 8px;
  height: 8px;
  background-color:var(--vertAA);
  border-radius: 50%;
}
MAIN .text-formatted #landing UL.list.list-jaune LI::before {
  content: "";
  display: block;
  position: absolute;
  left: -16px;
  top: 10px;
  width: 8px;
  height: 8px;
  background-color:var(--jauneAA);
  border-radius: 50%;
}
MAIN .text-formatted #landing UL.list.list-bleu LI::before {
  content: "";
  display: block;
  position: absolute;
  left: -16px;
  top: 10px;
  width: 8px;
  height: 8px;
  background-color:var(--bleuAA);
  border-radius: 50%;
}
/*bloc-check (bloc outils)*/
.bloc-check {
  padding: 0.5em 1em;
  border: 0;
  margin-top: 0;
  margin: 0.5em 1em;
  /*+border-radius: 8px;*/
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  -khtml-border-radius: 8px;
  border-radius: 8px;
  background-color:var(--blanc);
  position: relative;
  color:var(--vertAA);
}
.bloc-check:before {
  width: 24px;
  height: 24px;
  position: absolute;
  content: ' ';
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  /*+border-radius: 80px;*/
  -moz-border-radius: 80px;
  -webkit-border-radius: 80px;
  -khtml-border-radius: 80px;
  border-radius: 80px;
  background: url('../img/plus.svg') no-repeat center center;
}
.bloc-check STRONG {
}
/*bloc-demarche*/
#landing .bloc-demarche {
  background-color:var(--blanc);
  padding: 3.5em 1em 1em;
  position: relative;
  margin-top: 2em;
}
#landing .bloc-demarche H4.bg-vert {
  position: absolute;
  font-family: "Tomarik Brush", sans-serif !important;
  top: -20px;
  left: 0px;
  background-color:var(--vert);
  padding: 0.5em 1em 0.25em;
  border-radius: 0px;
  font-size: 1.75rem;
  font-weight: normal;
  color: #FFFFFF !important;
}
#landing .bloc-demarche P {
}
#landing H4.icon {
  padding-left: 1.75em;
  position: relative;
  line-height: normal;
}
#landing H4.icon.video::before {
  content: "";
  display: block;
  position: absolute;
  background: url('../img/video.svg') 0 0 / 40px 40px;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
}
#landing H4.icon.diapo::before {
  content: "";
  display: block;
  position: absolute;
  background: url('../img/diapo.svg') 0 0 / 40px 40px;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
}
/*bloc-note-auteur*/
#landing .note-auteur {
  border:1px solid var(--blanc-casse);
  padding: 1em 1em 1em 4em;
  /*+border-radius: 4px;*/
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -khtml-border-radius: 4px;
  border-radius: 4px;
  margin-bottom: 1.5em;
  position: relative;
  font-size: 16px;
  background-color:var(--blanc);
}
#landing .note-auteur::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 4px;
  width: 50px;
  height: 35px;
  background: url('../img/crayon.svg') no-repeat center center;
  background-size: contain;
  z-index: 0;
}
#landing .note-auteur P.txt {
  font-size: 16px !important;
  margin-bottom: 0;
}
#landing .note-auteur P.titre {
  font-size: 20px;
  margin-bottom: 0.25em;
  color:var(--vertAA);
}
/*Cartouche bon a savoir*/
#landing .savoir {
  display: flex;
  align-items: stretch;
  padding: 0px;
  margin-bottom: 1em;
  /*+border-radius: 8px;*/
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  -khtml-border-radius: 8px;
  border-radius: 8px;
  overflow: hidden;
  margin-top: 1em;
}
#landing .savoir .titre {
  display: flex;
  align-items: center;
  margin-right: 0px;
  background-color:var(--jaune) !important;
  padding: 0.5em;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 0.8em;
}
#landing .savoir .titre IMG {
  padding-right: 8px;
  width: 40px;
}
#landing .savoir .txt {
  background-color:var(--jaune-clair) !important;
  padding: 1em;
  flex: 1;
  box-sizing: border-box;
  text-align: left;
  font-weight: normal;
  font-size: 0.8em;
}
/*Dispositif*/
.dispositif .col-md-4 {
  padding: 0;
}
/*SECTION TEMOIGNAGES*/
#landing .temoignage .slick-track {
  display: flex;
  align-items: center;
}
#landing .temoignage {
  position: relative;
  padding: 80px 0;
  /* ajoute du padding pour faire de la place aux images */
}
#landing .temoignage::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 360px;
  height: 40px;
  background: url('../img/separateur-feuille-top.png') no-repeat center center;
  background-size: contain;
  z-index: 0;
}
#landing .temoignage::after {
  content: "";
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 360px;
  height: 40px;
  background: url('../img/separateur-feuille-bot.png') no-repeat center center;
  background-size: contain;
  z-index: 0;
}
#landing .testimonial-carousel {
  max-width: 90%;
  margin: 0 auto;
  font-style: normal;
}
#landing .testimonial-item {
  background-color: #FFFFFF;
  position: relative;
  /*+border-radius: 1em;*/
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  -khtml-border-radius: 1em;
  border-radius: 1em;
  margin-bottom: 0;
  padding: 20px 20px 20px 80px;
  margin: 1em;
}
#landing .testimonial-item::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: 50px;
  height: 35px;
  background: url('../img/guillemet.svg') no-repeat center center;
  background-size: contain;
  z-index: 0;
}
#landing .testimonial-item .fonction {
  font-style: italic !important;
  font-size: 0.8em;
  font-family: "Hanken Grotesk", sans-serif !important;
}
#landing .testimonial-item .user {
  font-family: "Hanken Grotesk", sans-serif !important;
}
#landing .testimonial-item .texte {
  font-style: italic !important;
  font-family: "PT Serif", serif;
  font-size: 16px;
}
#landing .slick-prev, #landing .slick-next {
  background: none !important;
  border: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
  /*+border-radius: 0 !important;*/
  -moz-border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  -khtml-border-radius: 0 !important;
  border-radius: 0 !important;
  width: 56px !important;
  height: 56px !important;
}
#landing .slick-prev {
  left: -50px;
}
#landing .slick-next {
  right: -50px;
}
/*SECTION auteurs*/
MAIN .text-formatted #landing .auteur H4 {
  margin-top: 0;
  margin-bottom: 0.25em;
}
MAIN .text-formatted #landing .auteur P {
  font-size: 16px;
}
/*ZOOM*/
.zoom-thumbnail {
  display: inline-block;
  position: relative;
  cursor: zoom-in;
}
.zoom-overlay {
  position: relative;
  display: inline-block;
}
.zoom-overlay IMG {
  display: block;
  width: 100%;
  height: auto;
  transition: 0.3s ease;
}
.zoom-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  width: 120px;
  height: 120px;
  z-index: 9;
}
.zoom-icon IMG {
  width: 100%;
  height: 100%;
}
.zoom-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(99, 89, 62, 0.3) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.zoom-thumbnail:hover .zoom-overlay::after, .zoom-thumbnail:hover .zoom-icon {
  opacity: 1;
}
/*Scroll to top*/
#scrollToTop {
  position: fixed;
  bottom: 32px;
  right: 32px;
  display: none;
  background-color:var(--orangeAA);
  color: white;
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  font-size: 24px;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  transition: opacity 0.3s ease;
}
#scrollToTop:hover {
  background-color:var(--orange);
}
/*Responsive*/
@media (max-width: 992px) {
  /*#landing .landing-nav
  {
  	text-align: left;
  }*/
  /*#landing .landing-nav-list
  {
  	flex-direction: column;
  	display: flex;
  	margin-top: 16px;
  	width: 100%;
  	padding: 10px;
  	font-size: 1.25em;
  }*/
  /*#landing .landing-nav-list.open
  {
  	display: flex;
  	(* quand ouvert *)
  }*/
  #landing .landing-nav-list LI {
    margin: 8px;
    width: 100%;
  }
  #landing .bouton.bouton-menu {
    font-size: 16px;
  }
  #landing .landing-nav-list LI A {
    width: 100%;
    display: block;
  }
  #landing, MAIN .text-formatted #landing P {
    font-size: 16px;
  }
  #landing H2.cap.icon {
    margin: 0.25em 0;
    font-size: 40px;
  }
  #landing H3, #landing .h3 {
    font-size: 32px;
  }
  #landing .bloc-demarche H4.bg-vert {
    top: -20px;
    left: 0px;
    background-color:var(--vert);
    padding: 0.5em 1em 0.25em;
    border-radius: 0px;
    font-size: 1.5rem;
    font-weight: normal;
    color: #FFFFFF !important;
  }
  #landing H2.cap.icon {
    font-size: 32px;
  }
  #landing H3, #landing .h3 {
    font-size: 24px;
  }
  #landing .bloc-demarche H4.bg-vert {
    font-size: 1rem;
  }
  #landing H4, #landing .h4 {
    font-size: 20px;
    line-height: 1.2;
  }
  #landing H5, #landing .h5 {
    font-size: 18px;
  }
  #landing H4.icon.video::before {
    background: url('../img/video.svg') 0 0 / 32px 32px;
    width: 32px;
    height: 32px;
  }
  #landing H4.icon.diapo::before {
    background: url('../img/diapo.svg') 0 0 / 32px 32px;
    width: 32px;
    height: 32px;
  }
}
@media (max-width: 768px) {
  #landing .landing-nav-list {
    flex-direction: column;
  }
  #landing .landing-nav-list LI {
    margin: 4px;
  }
  #landing .bouton.bouton-menu {
    font-size: 24px;
  }
  #landing .testimonial-carousel {
    max-width: 100%;
    margin: 0 auto;
    font-style: normal;
  }
  #landing .testimonial-item {
    background-color: #FFFFFF;
    position: relative;
    /*+border-radius: 1em;*/
    -moz-border-radius: 1em;
    -webkit-border-radius: 1em;
    -khtml-border-radius: 1em;
    border-radius: 1em;
    margin-bottom: 0;
    padding: 20px;
    margin: 1em;
  }
  #landing .testimonial-item::before {
    background: none;
  }
  #landing .note-auteur {
    padding: 1em 1em 1em 1em;
  }
  #landing .note-auteur::before {
    background: none;
  }
}
@media (max-width: 480px) {
  #landing, MAIN .text-formatted #landing P {
    font-size: 14px;
  }
  MAIN .text-formatted #landing .auteur P {
    font-size: 14px;
  }
  #landing .bouton.bouton-menu {
    font-size: 18px;
  }
}
