/*COULEURS*/
:root {
  /* Couleurs principales */
  --color-primary-retz: 28, 48, 119;
  --color-text-primary: 51, 51, 51;
  /* Blancs */
  --color-white: 255, 255, 255;
  --color-white-soft: 248, 245, 237;
  /* Réseaux */
  --color-facebook: 66, 103, 178;
  /* Bleus */
  --color-bleu-a: 46, 91, 135;
  --color-bleu-b: 33, 131, 131;
  --color-bleu-c: 44, 185, 201;
  /* Oranges */
  --color-orange-a: 198, 77, 36;
  --color-orange-b: 251, 156, 74;
  /* Jaunes */
  --color-jaune-a: 141, 112, 17;
  --color-jaune-b: 246, 199, 70;
  /* Verts */
  --color-vert-a: 79, 125, 83;
  --color-vert-b: 160, 196, 124;
  /* Violets */
  --color-violet-a: 106, 63, 164;
  --color-violet-b: 163, 103, 177;
  /* Roses */
  --color-rose-a: 164, 76, 125;
  --color-rose-b: 229, 115, 160;
}

/*------------------------------------
COULEUR BOUTON
------------------------------------*/
#landing .gris {
  background: rgb(var(--color-text-primary));
}

#landing .blanc {
  background: rgb(var(--color-white));
  color: rgb(var(--color-text-primary));
}

#landing .retz {
  background: rgb(var(--color-primary-retz));
  color: rgb(var(--color-white));
}

#landing .facebook {
  background: rgb(var(--color-facebook));
  color: rgb(var(--color-white));
}

#landing .vert {
  background: rgb(var(--color-vert-a));
  color: rgb(var(--color-white));
}

#landing .violet {
  background: rgb(var(--color-violet-a));
  color: rgb(var(--color-white));
}

#landing .orange {
  background: rgb(var(--color-orange-a));
  color: rgb(var(--color-white));
}

#landing .jaune {
  background: rgb(var(--color-jaune-a));
  color: rgb(var(--color-white));
}

#landing .vert-bleu {
  background: rgb(var(--color-bleu-ciel));
  color: rgb(var(--color-white));
}

#landing .bleu {
  background: rgb(var(--color-bleu-a));
  color: rgb(var(--color-white));
}

#landing .bleu2 {
  background: rgb(var(--color-bleu-b));
  color: rgb(var(--color-white));
}

#landing .rose {
  background: rgb(var(--color-rose-a));
  color: rgb(var(--color-white));
}

/*------------------------------------
COULEUR TEXTE
------------------------------------*/
#landing {
  color: rgb(var(--color-text-primary));
}

#landing .texte {
  color: rgb(var(--color-text-primary));
}

#landing .texte-blanc {
  color: rgb(var(--color-white));
}

#landing .texte-facebook {
  color: rgb(var(--color-facebook));
}

#landing .texte-retz {
  color: rgb(var(--color-primary-retz));
}

#landing .texte-vert {
  color: rgb(var(--color-vert-a));
}

#landing .texte-violet {
  color: rgb(var(--color-violet-a));
}

#landing .texte-jauneange {
  color: rgb(var(--color-orange-a));
}

#landing .texte-bleu {
  color: rgb(var(--color-bleu-a));
}

#landing .texte-vert-bleu {
  color: rgb(var(--color-bleu-b));
}

#landing .texte-rose {
  color: rgb(var(--color-rose-a));
}

#landing .texte-jaune {
  color: rgb(var(--color-jaune-a));
}

/*------------------------------------
COULEUR BLOC
------------------------------------*/
#landing .bg-orange {
  background-color: rgb(var(--color-orange-a), 0.05);
}

#landing .bg-or {
  background-color: rgb(var(--color-jaune-a), 0.05);
}

#landing .bg-vert {
  background-color: rgb(var(--color-vert-b), 0.05);
}

#landing .bg-vert-bleu {
  background-color: rgb(var(--color-bleu-c), 0.05);
}

#landing .bg-bleu {
  background-color: rgb(var(--color-bleu-b), 0.05);
}

#landing .bg-violet {
  background-color: rgb(var(--color-violet-b), 0.05);
}

#landing .bg-rose {
  background-color: rgb(var(--color-rose-b), 0.05);
}

#landing .bg-facebook {
  background-color: rgb(var(--color-facebook), 0.05);
}

/* BASE */
#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;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
}

#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;
}

.embed-responsive {
}

#landing .float-start {
  float: left;
}

#landing .float-end {
  float: right;
}

#landing .rounded {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  -khtml-border-radius: 8px;
  border-radius: 8px;
}

#landing .hr-filet {
  display: block;
  margin: 2rem auto;
  max-width: 100%;
  height: auto;
}

#landing .bouton {
  display: inline-block;
  padding: 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: normal;
  line-height: normal;
  font-size: 1em;
  color: #FFFFFF !important;
}

#landing .bouton-sm {
  padding: 0.75rem;
  border-radius: 0;
  font-size: 24px;
}

#landing .bouton:hover,
#landing .bouton:focus {
  filter: brightness(1.25);
  text-decoration: none;
  outline: none;
}

main .text-formatted #landing p {
  font-size: 18px;
  line-height: 1.5em;
  margin-top: 0;
  margin-bottom: 0.5em;
}

main #landing strong {
  font-weight: 600;
}

main #landing p.lead {
  font-size: 1.1em;
  line-height: 1.5em;
}

main #landing p.legende {
  font-size: 12px;
  line-height: normal;
}

main #landing p.p-iconed {
  display: flex;
  align-items: center;
  gap: 8px;
}

main #landing p.p-iconed img {
  margin-right: 8px;
}

#landing {
  font-size: 18px;
  line-height: 1.4em;
  font-family: "Figtree", sans-serif;
  margin-top: 24px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -khtml-border-radius: 4px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  padding-top: 1.2em;
  padding-bottom: 100px;
}

main #landing a {
  color: #9B3C1C;
  font-weight: 600;
}

#landing a:hover {
  text-decoration: none;
}

#landing .link-underline {
  text-decoration: none;
}

#landing .link-underline:hover {
  text-decoration: underline;
}

/* LISTES */
#landing ul.list {
  padding-left: 24px;
}

#landing ul.list li {
  margin-bottom: 0.5em;
}

main #landing ul.list.list-orange li::before,
main #landing ul.list.list-vert li::before,
main #landing ul.list.list-jaune li::before,
main #landing ul.list.list-bleu li::before,
main #landing ul.list.list-bleu-vert li::before {
  content: "";
  display: block;
  position: absolute;
  left: -16px;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

main #landing ul.list.list-orange li::before {
  background-color: rgb(var(--color-orange-a));
}

main #landing ul.list.list-vert li::before {
  background-color: rgb(var(--color-vert-a));
}

main #landing ul.list.list-jaune li::before {
  background-color: rgb(var(--color-jaune-a));
}

main #landing ul.list.list-bleu li::before {
  background-color: rgb(var(--color-bleu-a));
}

main #landing ul.list.list-bleu-vert li::before {
  background-color:rgb(var(--color-bleu-b));
}

#landing h1,
#landing h2,
#landing h3,
#landing h4,
#landing h5,
#landing h6 {
  font-family: "Nunito", sans-serif !important;
  margin-top: 0;
  margin-bottom: 0.5em;
}

#landing h2,
#landing .h2 {
  font-size: 3em;
  font-weight: 800;
}

#landing h3,
#landing .h3 {
  font-size: 1.75em;
  font-weight: 800;
}

#landing h4,
#landing .h4 {
  font-size: 1.25em;
  font-weight: 700;
}

/* titre-section */
#landing .titre-section {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* forme neutre */
#landing .titre-section::before {
  content: "";
  width: 60px;
  height: 20px;
  border-radius: 12px;
  background: rgb(var(--color-accent), 0.25);
}

/* couleurs */
#landing .couleur-orange {
  --color-accent: var(--color-orange-a);
  color: rgb(var(--color-accent));
}

#landing .couleur-jaune {
  --color-accent: var(--color-jaune-a);
  color: rgb(var(--color-accent));
}

#landing .couleur-vert {
  --color-accent: var(--color-vert-a);
  color: rgb(var(--color-accent));
}

#landing .couleur-vert-bleu {
  --color-accent: var(--color-bleu-b);
  color: rgb(var(--color-accent));
}

#landing .couleur-bleu {
  --color-accent: var(--color-bleu-a);
  color: rgb(var(--color-accent));
}

#landing .couleur-violet {
  --color-accent: var(--color-violet-a);
  color: rgb(var(--color-accent));
}

#landing .couleur-rose {
  --color-accent: var(--color-rose-a);
  color: rgb(var(--color-accent));
}

#landing.landing-intro {
  background-color: var(--bg-organiseur-beige);
}

#landing.landing-organiseur {
  background-color: var(--bg-organiseur-orange);
}

#landing.landing-cahier {
  background-color: var(--bg-organiseur-vert);
}

#landing.landing-ephemeride {
  background-color: var(--bg-organiseur-bleu);
}

#landing.landing-organiseur-cl {
  background-color: var(--bg-organiseur-rose);
}

#landing .container.no-padding {
  padding-right: 0;
  padding-left: 0;
}

#landing iframe {
  display: block;
  margin: 0 0 24px;
}

#landing section.outils {
  margin: 1em;
  background: linear-gradient(to bottom, white 0%, transparent 50%, white 100%);
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -khtml-border-radius: 4px;
  border-radius: 4px;
  padding-top: 1em;
  padding-bottom: 1em;
}

#landing .titre-page {
  font-size: 3em;
  line-height: 1em;
  font-weight: bold;
  margin-bottom: 0.25em;
}

#landing .sous-titre-page {
  font-size: 2em;
  line-height: 1em;
  font-weight: bold;
  margin-top: 0;
}

#landing .accroche-page {
  font-size: 1.6em;
  line-height: 1em;
  padding-bottom: 8px;
}

/* SECTION TEMOIGNAGES */
#landing .temoignage {
  position: relative;
  padding: 80px 0;
}

#landing .testimonial-carousel {
  max-width: 90%;
  margin: 0 auto;
  font-style: normal;
}

#landing .testimonial-carousel .slick-slide {
  height: auto;
  display: flex;
}

#landing .testimonial-carousel .slick-track {
  display: flex;
  align-items: center;
}

#landing .testimonial-item {
  background-color: #FFF;
  position: relative;
  margin: 1em;
  margin-bottom: 0;
  padding: 20px 20px 20px 80px;
  /*+border-radius: 0.5em;*/
  -moz-border-radius: 0.5em;
  -webkit-border-radius: 0.5em;
  -khtml-border-radius: 0.5em;
  border-radius: 0.5em;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#landing .testimonial-item::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: 50px;
  height: 35px;
  background: url("../img/guillemet.png") no-repeat center center;
  background-size: contain;
  z-index: 0;
}

#landing .testimonial-item .fonction {
  font-size: 0.8em;
  font-style: italic !important;
}

#landing .testimonial-item .texte {
  font-size: 16px;
  font-family: "Roboto Serif", serif;
  font-style: italic !important;
  line-height: 1.5em;
}

#landing .slick-prev,
#landing .slick-next {
  background: none !important;
  border: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
  width: 56px !important;
  height: 56px !important;
  -moz-border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  -khtml-border-radius: 0 !important;
  border-radius: 0 !important;
}

#landing .slick-prev {
  left: -50px;
}

#landing .slick-next {
  right: -50px;
}

.testimonial-carousel .slick-dots li button:before {
  content: " ";
}

.testimonial-carousel .slick-dots {
  display: flex !important;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

.testimonial-carousel .slick-dots li {
  width: auto;
  height: auto;
  list-style: none;
  margin: 0 4px;
  /* espace entre les dots */
}

.testimonial-carousel .slick-dots li button {
  width: 16px;
  height: 16px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background:rgb(var(--color-orange-a),0.25);
  font-size: 0;
  /* masque le 1, 2, 3... */
  line-height: 0;
  color: transparent;
  cursor: pointer;
}

.testimonial-carousel .slick-dots li.slick-active button {
  background: rgb(var(--color-orange-a));
  /* couleur active */
}

main .text-formatted ul.slick-dots li::before {
  display: none;
}

/*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: 140px;
  height: 140px;
  z-index: 9;
  /*+border-radius: 100%;*/
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  -khtml-border-radius: 100%;
  border-radius: 100%;
  padding: 30px;
  background-color: rgba(46, 93, 134, 0.513);
}

.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;
}

.image-ombre {
  display: block;
  border-radius: 4px;
  margin-bottom: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
}

.image-contour {
  display: block;
  border-radius: 2px;
  border: 1px solid #E7E7E7;
  margin: 0 auto 8px;
}

/* landing-nav */
#landing .landing-nav {
  text-align: center;
  padding: 1em 0;
}

#landing .landing-nav-toggle {
  display: block;
  text-align: center;
  box-sizing: border-box;
  background:rgb(var(--color-primary-retz));
  border: none;
  padding: 1rem 2rem;
  font-size: 1em;
  cursor: pointer;
  color: #FFFFFF;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 auto;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -khtml-border-radius: 0;
  border-radius: 0;
}

#landing .landing-nav-toggle:hover {
  filter: brightness(1.15);
  text-decoration: none;
  outline: none;
}

#landing .landing-nav-list {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0 !important;
}

#landing .landing-nav-list li::before {
  display: none !important;
}

#landing .landing-nav-list li {
  margin-right: 8px;
}

#landing .landing-nav-list li:last-child {
  margin-right: 0;
}

main #landing .landing-nav-list a.bouton.bouton-sm {
}

/* Bloc matière */
#landing .bloc-matiere {
  text-align: center;
  margin-bottom: 30px;
}

#landing .bloc-matiere-titre {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 8px 16px 8px 56px;
  border-radius: 999px;
  color: rgb(var(--color-white));
  font-family: "Nunito", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700;
  line-height: 1;
}

#landing .bloc-matiere-image {
  position: absolute;
  left: 10px;
  bottom: 5px;
  width: 68px;
  height: 80px;
  object-fit: contain;
  z-index: 2;
}

#landing .bloc-matiere-texte {
  margin: 8px 0 0 !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

/* Couleurs des blocs */
#landing .grammaire .bloc-matiere-titre {
  background: #1A7E89;
}

#landing .grammaire .bloc-matiere-texte {
  color: rgb(var(--color-bleu-a));
}

#landing .comprehension .bloc-matiere-titre {
  background: #B1601B;
}

#landing .comprehension .bloc-matiere-texte {
  color: rgb(var(--color-orange-a));
}

#landing .vocabulaire .bloc-matiere-titre {
  background: #D3276B;
}

#landing .vocabulaire .bloc-matiere-texte {
  color: rgb(var(--color-rose-a));
}

#landing .orthographe .bloc-matiere-titre {
  background: #597B37;
}

#landing .orthographe .bloc-matiere-texte {
  color: rgb(var(--color-vert-a));
}

/*dispositif*/
/*.offre-papier, .offre-numerique
{
	padding: 1em;
	margin-bottom: 1em;
	background-color: #FFFFFF;
	(*+border-radius: 8px;*)
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	-khtml-border-radius: 8px;
	border-radius: 8px;
}*/
/* bloc-note-auteur */
#landing .bloc-note-auteur {
  position: relative;
  background: #FFFFFF;
  border: 2px solid rgb(var(--color-jaune-a));
  border-radius: 8px 0px 8px 8px;
  padding: 1em;
  margin-top: 30px;
}

#landing .bloc-note-titre {
  position: absolute;
  top: -36px;
  right: -2px;
  background: rgb(var(--color-jaune-a));
  color: #FFF;
  padding: 6px 16px;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 16px 16px 0 0;
}

#landing .trombone .bloc-note-titre::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: -49px;
  transform: translateY(-50%);
  width: 41px;
  height: 55px;
  background-image: url("../img/trombone.png");
  background-size: contain;
  background-repeat: no-repeat;
}

#landing .trombone .bloc-note-titre {
  position: absolute;
  top: -36px;
  right: -2px;
  background:rgb(var(--color-orange-a));
  color: #FFF;
  padding: 6px 48px 6px 16px;
  font-weight: 600;
  font-size: 1.25rem;
  border-radius: 16px 16px 0 0;
  font-family: "Nunito", sans-serif !important;
}

#landing .bloc-note-auteur.trombone {
  position: relative;
  background:rgb(var(--color-orange-a),0.05);
  border:2px solid rgb(var(--color-orange-a));
  border-radius: 4px 0px 4px 4px;
  padding: 1em;
  margin-top: 30px;
}

#landing .bloc-note-auteur.compagnon {
  position: relative;
  background:rgb(var(--color-orange-a),0.2);
  border:0px solid rgb(var(--color-orange-a));
  border-radius: 8px;
  padding: 1em;
  margin-top: 30px;
}

/* Onglet */
.intro-video {
  position: relative;
}

.intro-video::before,
.intro-video::after {
  content: "";
  position: absolute;
  /* position sous la vidéo */
  /* largeur image */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
}

.intro-video::before {
  left: 24px;
  background-image: url("../img/duo-gauche.png");
  height: 160px;
  width: 179px;
  bottom: 32px;
}

.intro-video::after {
  right: 24px;
  background-image: url("../img/duo-droite.png");
  height: 188px;
  width: 171px;
  bottom: 15px;
}

/* Texte */
#landing .bloc-note-auteur p {
  margin-bottom: 0em !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

@media (max-width: 1280px) {
  #landing .bouton-sm {
    font-size: 20px;
  }
}

@media (max-width: 992px) {
  main #landing {
    font-size: 16px;
    line-height: 1.4em;
  }
  
  main .text-formatted #landing p {
    font-size: 16px;
    line-height: 1.4em;
  }
  
  main #landing p.lead {
    font-size: 1.1em;
    line-height: 1.5em;
  }
  
  main #landing .landing-nav-list a.bouton.bouton-sm {
    font-size: 100%;
  }
  
  main #landing .landing-nav {
    text-align: left;
  }
  
  main #landing .landing-nav-list {
    flex-direction: column;
    display: none;
    margin-top: 16px;
    width: 100%;
    padding: 10px;
    font-size: 1.25em;
  }
  
  main #landing .landing-nav-list.open {
    display: flex;
    /* quand ouvert */
  }
  
  main #landing .landing-nav-list li {
    margin: 4px 0;
    margin-right: 0;
    width: 100%;
  }
  
  main #landing .landing-nav-list li a {
    width: 100%;
    display: block;
    text-align: center;
    /* pour garder le texte centré */
    box-sizing: border-box;
    /* pour que le padding ne déborde pas */
  }
  
  #landing h2,
  #landing .h2 {
    font-size: 2.2em;
    font-weight: 800;
  }
  
  #landing h3,
  #landing .h3 {
    font-size: 1.4em;
    font-weight: 800;
  }
  
  #landing h4,
  #landing .h4 {
    font-size: 1.2em;
    font-weight: 700;
  }
  
  main #landing p.legende {
    font-size: 12px;
    line-height: normal;
  }
}

@media (max-width: 768px) {
  .intro-video::before,
  .intro-video::after {
    display: none;
  }
}

@media (max-width: 480px) {
  #landing .titre-page {
    font-size: 2em;
    line-height: normal;
    margin-bottom: 0;
  }
  
  #landing .accroche-page {
    line-height: normal;
  }
  
  #landing .sous-titre-page {
    font-size: 1.5em;
    line-height: normal;
  }
  
  #landing .bouton {
    margin-bottom: 1em;
  }
  
  #landing .landing-nav-list li .bouton {
    margin-bottom: 0;
  }
  
  #landing .idees {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  
  #landing .idee {
    padding:4px10px;
    font-size: 0.8em;
    margin: 4px;
  }
  
  #landing .idee img {
    width: 40px;
    height: 40px;
    margin-right: 8px;
  }
  
  #landing .testimonial-item {
    background-color: #FFFFFF;
    position: relative;
    /*+border-radius: 0.25em;*/
    -moz-border-radius: 0.25em;
    -webkit-border-radius: 0.25em;
    -khtml-border-radius: 0.25em;
    border-radius: 0.25em;
    margin-bottom: 0;
    padding: 20px 20px 20px 20px;
    margin: 1em;
  }
  
  #landing .testimonial-item::before {
    display: none;
  }
  
  #landing .slick-prev,
  #landing .slick-next {
    width: 40px !important;
    height: 40px !important;
  }
  
  #landing .slick-prev {
    left: -30px;
  }
  
  #landing .slick-next {
    right: -30px;
  }
}
