/*
#@0
*/
.montserrat-alternates-thin {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 100;
  font-style: normal;
}
.montserrat-alternates-extralight {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 200;
  font-style: normal;
}
.montserrat-alternates-light {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.montserrat-alternates-regular {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.montserrat-alternates-medium {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.montserrat-alternates-semibold {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 600;
  font-style: normal;
}
.montserrat-alternates-bold {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.montserrat-alternates-extrabold {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 800;
  font-style: normal;
}
.montserrat-alternates-black {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 900;
  font-style: normal;
}
.montserrat-alternates-thin-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 100;
  font-style: italic;
}
.montserrat-alternates-extralight-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 200;
  font-style: italic;
}
.montserrat-alternates-light-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 300;
  font-style: italic;
}
.montserrat-alternates-regular-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 400;
  font-style: italic;
}
.montserrat-alternates-medium-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 500;
  font-style: italic;
}
.montserrat-alternates-semibold-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 600;
  font-style: italic;
}
.montserrat-alternates-bold-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 700;
  font-style: italic;
}
.montserrat-alternates-extrabold-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 800;
  font-style: italic;
}
.montserrat-alternates-black-italic {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 900;
  font-style: italic;
}
#site-gravelines, .popup-gravelines {
  --couleur_site: #ffc32dff;
}
#site-penly, .popup-penly {
  --couleur_site: #78488eff;
}
#site-bure, .popup-bure {
  --couleur_site: #059d39ff;
}
#site-bugey, .popup-bugey {
  --couleur_site: #ee571eff;
}
.blocker {
  z-index: 2;
}
.blocker .modal {
  background: #FFF;
  max-width: 80%;
  max-height: 75%;
  border: 5px solid var(--couleur_site);
  border-radius: 15px;
  font-family: Montserrat;
}
.blocker .modal h3 {
  font-family: "Montserrat Alternates", sans-serif;
}
.blocker .modal .notes {
  font-size: 0.9em;
  max-width: 80ch;
  border-top: solid 1px rgba(0, 0, 0, 0.2);
}
#blocCampagne {
  margin-bottom: -40px;
}
#blocCampagne > *:last-child {
  padding-bottom: 100px;
}
#blocCampagne .texte {
  margin-bottom: 2rem;
  border-radius: 1rem;
}
#blocCampagne .bloc-blanc {
  background: #FFF;
  border-radius: 1rem;
  padding: 1rem;
}
#blocCampagne .bouton {
  border: solid 2px black;
  box-shadow: 4px 4px 0px 2px black;
}
#blocCampagne h1 {
  font-weight: 800;
  font-size: 5rem;
  font-family: "Montserrat Alternates", sans-serif;
  line-height: 100%;
}
#blocCampagne h1 small {
  font-size: 3rem;
  line-height: 100%;
}
#blocCampagne .texte h2.h2 {
  margin-top: 0;
}
#blocCampagne .chapo {
  font-size: 1.4rem;
  line-height: 1.6em;
  font-family: "Montserrat Alternates", sans-serif;
  margin: 1em 0;
}
#blocCampagne #entete-campagne .chapo {
  font-size: 2rem;
  margin: 1em 0;
}
#blocCampagne h2 {
  font-weight: 800;
  font-size: 3rem;
  font-family: "Montserrat Alternates", sans-serif;
  line-height: 100%;
}
#blocCampagne .black-font-outline {
  color: #FFF;
  text-shadow: #000 3px 0px 0px, #000 2.83487px 0.981584px 0px, #000 2.35766px 1.85511px 0px, #000 1.62091px 2.52441px 0px, #000 0.705713px 2.91581px 0px, #000 -0.287171px 2.98622px 0px, #000 -1.24844px 2.72789px 0px, #000 -2.07227px 2.16926px 0px, #000 -2.66798px 1.37182px 0px, #000 -2.96998px 0.42336px 0px, #000 -2.94502px -0.571704px 0px, #000 -2.59586px -1.50383px 0px, #000 -1.96093px -2.27041px 0px, #000 -1.11013px -2.78704px 0px, #000 -0.137119px -2.99686px 0px, #000 0.850987px -2.87677px 0px, #000 1.74541px -2.43999px 0px, #000 2.44769px -1.73459px 0px, #000 2.88051px -0.838247px 0px, #000 3px 3px 0px, #000 4px 4px 0px, #000 5px 5px 0px, #000 6px 6px 0px, #000 7px 7px 0px, #000 8px 8px 0px, #000 9px 9px 0px, #000 10px 10px 0px;
}
#blocCampagne .bloc-violet {
  background-color: #4f2890;
}
#blocCampagne .grid-200 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: 20px 40px;
  text-align: center;
  margin: 20px 0;
  font-size: 1.5em;
}
#blocCampagne #bloc-sites #bloc-sites-intro {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
#blocCampagne #bloc-sites #bloc-sites-intro > div {
  position: relative;
}
#blocCampagne #bloc-sites #bloc-sites-intro > div::after {
  content: "";
  display: block;
  position: absolute;
  background: #FFF;
  height: calc(100% + 4rem);
  width: calc(100% + 4rem);
  top: -2rem;
  left: -2rem;
  z-index: -1;
  transform: rotate(-1deg);
  filter: drop-shadow(0 0 30px rgba(0, 0, 0, 0.1));
}
#blocCampagne #bloc-sites #bloc-sites-intro h2.hyphen {
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}
#blocCampagne #bloc-sites .site {
  background-size: contain;
  background-position: left center;
  max-width: 300px;
  text-shadow: #FFF 3px 0px 0px, #FFF 2.83487px 0.981584px 0px, #FFF 2.35766px 1.85511px 0px, #FFF 1.62091px 2.52441px 0px, #FFF 0.705713px 2.91581px 0px, #FFF -0.287171px 2.98622px 0px, #FFF -1.24844px 2.72789px 0px, #FFF -2.07227px 2.16926px 0px, #FFF -2.66798px 1.37182px 0px, #FFF -2.96998px 0.42336px 0px, #FFF -2.94502px -0.571704px 0px, #FFF -2.59586px -1.50383px 0px, #FFF -1.96093px -2.27041px 0px, #FFF -1.11013px -2.78704px 0px, #FFF -0.137119px -2.99686px 0px, #FFF 0.850987px -2.87677px 0px, #FFF 1.74541px -2.43999px 0px, #FFF 2.44769px -1.73459px 0px, #FFF 2.88051px -0.838247px 0px;
}
#blocCampagne #bloc-sites .site a {
  color: black;
  text-align: center;
}
#blocCampagne #bloc-sites .site a small {
  display: block;
  font-weight: normal;
  font-size: 0.7em;
  line-height: 100%;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre {
  width: 300px;
  min-height: 450px;
  overflow: visible;
  position: relative;
  margin: 0 auto;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.9;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg #gravelines {
  --couleur_site: #ffc32dff;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg #penly {
  --couleur_site: #78488eff;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg #bure {
  --couleur_site: #059d39ff;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg #bugey {
  --couleur_site: #ee571eff;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg #gravelines, #blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg #penly, #blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg #bure, #blocCampagne #bloc-sites #carte-svg-dessin-centre .fond-de-carte svg #bugey {
  fill: #FAFAFA;
  stroke-width: 10;
  stroke-opacity: 1;
  stroke: var(--couleur_site, green);
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre.hover-gravelines .fond-de-carte svg #gravelines {
  fill: #ffc32dff;
  cursor: pointer;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre.hover-penly .fond-de-carte svg #penly {
  fill: #78488eff;
  cursor: pointer;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre.hover-bure .fond-de-carte svg #bure {
  fill: #059d39ff;
  cursor: pointer;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre.hover-bugey .fond-de-carte svg #bugey {
  fill: #ee571eff;
  cursor: pointer;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste {
  position: absolute;
  top: 50%;
  left: 50%;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste > div {
  position: absolute;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste > div > div {
  width: 300px;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste > div > div:hover {
  cursor: pointer;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste #site-gravelines {
  position: absolute;
  top: -190px;
  left: -30px;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste #site-penly {
  position: absolute;
  top: -150px;
  left: -390px;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste #site-penly h3 {
  text-align: right;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste #site-bure {
  position: absolute;
  top: -80px;
  left: 60px;
}
#blocCampagne #bloc-sites #carte-svg-dessin-centre #bloc-sites-liste #site-bugey {
  position: absolute;
  top: 30px;
  left: 60px;
}
#blocCampagne #bloc-cp-jur {
  margin-top: 2rem;
}
#blocCampagne #bloc-cp-jur > div {
  position: relative;
}
#blocCampagne #bloc-cp-jur > div::before {
  content: "";
  display: block;
  position: absolute;
  border: solid 10px #ffc32dff;
  height: calc(100% + 4rem);
  width: calc(100% + 4rem);
  top: -2rem;
  left: -2rem;
  z-index: -1;
  transform: rotate(0.5deg);
}
#blocCampagne #bloc-cp-jur ul {
  padding-left: 0;
}
#blocCampagne #bloc-cp-jur li {
  position: relative;
  list-style-type: none;
}
#blocCampagne .liste-camp-2024 {
  padding-left: 0;
}
#blocCampagne .liste-camp-2024 > li {
  position: relative;
  list-style-type: none;
  border-bottom: solid 1px black;
  padding-bottom: 1rem;
  padding-top: 1rem;
}
#blocCampagne .liste-camp-2024 > li:last-child {
  border-bottom: 0px;
}
#blocCampagne .liste-camp-2024 a {
  color: inherit;
}
#blocCampagne #bloc-informer {
  margin-top: 2rem;
}
#blocCampagne #bloc-informer > div {
  position: relative;
}
#blocCampagne #bloc-informer > div::before {
  content: "";
  display: block;
  position: absolute;
  border: solid 10px #059d39ff;
  height: calc(100% + 4rem);
  width: calc(100% + 4rem);
  top: -2rem;
  left: -2rem;
  z-index: -1;
  transform: rotate(-1deg);
}
#blocCampagne #bloc-informer ul {
  display: flex;
  justify-content: space-between;
}
#blocCampagne #bloc-informer ul li {
  flex: 0 0 30%;
  padding-bottom: 0;
  border-bottom: 0;
}
#blocCampagne #bloc-eve {
  margin-top: 2rem;
}
#blocCampagne #bloc-eve > div {
  position: relative;
}
#blocCampagne #bloc-eve > div::before {
  content: "";
  display: block;
  position: absolute;
  border: solid 10px #62c5f1ff;
  height: calc(100% + 4rem);
  width: calc(100% + 4rem);
  top: -2rem;
  left: -2rem;
  z-index: -1;
  transform: rotate(1deg);
}
#blocCampagne #bloc-ressources {
  margin-top: 2rem;
}
#blocCampagne #bloc-ressources > div {
  position: relative;
}
#blocCampagne #bloc-ressources > div::before {
  content: "";
  display: block;
  position: absolute;
  border: solid 10px #ee571e;
  height: calc(100% + 4rem);
  width: calc(100% + 4rem);
  top: -2rem;
  left: -2rem;
  z-index: -1;
  transform: rotate(-0.7deg);
}
#blocCampagne #bloc-ressources .items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));
  grid-gap: 2rem 3rem;
  margin: 3rem 0;
  margin-top: 0;
  font-size: 1.2em;
  line-height: 1.2em;
}
#blocCampagne #bloc-ressources .items .item > a {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.5rem;
  color: initial;
}
#blocCampagne #bloc-ressources .items .item > a:hover {
  color: #d44612;
}
@media (max-width: 1200px) {
  #blocCampagne #bloc-ressources {
    display: block;
  }
  #blocCampagne #bloc-ressources .item {
    padding-right: 1rem;
  }
}
#blocCampagne #bloc-ressources .logo {
  width: 140px;
  height: 140px;
  background-size: contain;
  flex: 0 0 auto;
  align-self: flex-start;
}
#blocCampagne #bloc-ressources .titre {
  font-family: "Montserrat Alternates", sans-serif;
  font-size: 0.9em;
}
#blocCampagne #bloc-demandes {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 1rem;
}
#blocCampagne #bloc-demandes h2 {
  margin-bottom: 0.5em;
}
#blocCampagne #bloc-demandes::before {
  content: "";
  display: block;
  position: absolute;
  background: #62c5f1ff;
  height: calc(100% + 8rem);
  width: 200vw;
  top: -1rem;
  z-index: -1;
  transform: rotate(-1deg) translateX(-50%) translateY(-10%);
}
#blocCampagne #bloc-demandes .demandes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: 2rem 3rem;
  margin: 3rem 0;
  font-size: 1.2em;
  line-height: 1.2em;
}
#blocCampagne #bloc-demandes .demandes .demande {
  display: flex;
  align-items: center;
  font-weight: bold;
  position: relative;
  padding: 0.5rem;
}
#blocCampagne #bloc-demandes .demandes .demande .num {
  font-family: "Montserrat Alternates", sans-serif;
  font-weight: 800;
  font-size: 5rem;
  color: #62c5f1ff;
  margin: 0 1rem;
}
#blocCampagne #bloc-demandes .demandes .demande::before {
  content: "";
  display: block;
  position: absolute;
  background: #FFF;
  opacity: 0.8;
  height: calc(100% + 1rem);
  width: calc(100% + 1rem);
  top: -0.5rem;
  left: -0.5rem;
  z-index: -1;
  transform: rotate(-1deg);
}
@media (max-width: 1200px) {
  #blocCampagne #bloc-demandes .demandes {
    display: block;
  }
  #blocCampagne #bloc-demandes .demandes .demande {
    margin: 2rem 0;
    padding: 2rem 0;
    padding-right: 2rem;
  }
}
#blocCampagne #bloc-agir {
  position: relative;
}
#blocCampagne #bloc-agir::before {
  content: "";
  display: block;
  position: absolute;
  background: #72359dff;
  height: calc(100% + 4rem);
  width: calc(200% + 2rem);
  left: -100%;
  top: -2rem;
  z-index: -1;
  transform-origin: center;
  transform: rotate(2deg);
}
#blocCampagne #bloc-agir h2 {
  margin-bottom: 0.5em;
}
#blocCampagne #bloc-agir .actions {
  color: #FFF;
  padding-left: 2rem;
  position: relative;
}
#blocCampagne #bloc-agir .actions .action {
  position: relative;
}
#blocCampagne #bloc-agir .actions .action .fleur {
  position: absolute;
  left: -1.5rem;
  top: 5px;
}
#blocCampagne #bloc-agir i.fa {
  transition-property: transform;
  transition-duration: 200ms;
}
#blocCampagne #bloc-agir i.fa:hover {
  transform: scale(1.2);
}
#blocCampagne #bloc-agir .bouton {
  margin-top: 0;
  font-size: 1rem;
  padding: 5px 10px;
  font-weight: bold;
  border: 0;
  box-shadow: 2px 2px 0px 2px black;
}
#blocCampagne #bloc-boutique {
  position: relative;
}
#blocCampagne #bloc-boutique h2 {
  color: #FFF;
  position: relative;
  transform: rotate(-1deg);
  transform-origin: bottom left;
}
#blocCampagne #bloc-boutique h2::before {
  content: "";
  display: block;
  position: absolute;
  background: #ee571eff;
  height: 120%;
  width: 200vw;
  left: -2rem;
  top: 0rem;
  z-index: -1;
}
#blocCampagne #bloc-boutique::before {
  content: "";
  display: block;
  position: absolute;
  background: #a87dc6;
  background: transparent;
  height: calc(100% + 4rem);
  width: calc(200% + 2rem);
  left: -1rem;
  top: -2rem;
  z-index: -1;
  transform-origin: center;
  transform: rotate(-0.5deg);
}
#blocCampagne #bloc-boutique .produits {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  grid-gap: 20px 40px;
  text-align: center;
  margin: 20px 0;
  font-size: 1.5em;
}
#blocCampagne #bloc-boutique .produits a {
  color: inherit;
}
#blocCampagne #bloc-boutique .produits .produit, #blocCampagne #bloc-boutique .produits .produit .logo {
  transition-property: transform;
  transition-duration: 200ms;
}
#blocCampagne #bloc-boutique .produits .produit:hover, #blocCampagne #bloc-boutique .produits .produit .logo:hover {
  transform: scale(1.05);
}
#blocCampagne #bloc-boutique .produits .titre {
  position: relative;
  top: -2rem;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.4));
}
#blocCampagne #bloc-boutique .produits .titre h3 {
  font-size: 0.9rem;
  font-weight: normal;
  text-align: center;
  background: #ffc32dff;
  display: inline;
  outline: solid 5px #ffc32dff;
}
