/*
@include for-size($size) {
    css....
}
*/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Julius+Sans+One&family=Rubik&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@500&display=swap");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
html, body {
  font-size: 10px;
  background-color: white;
  color: #0d0d0d;
}
.wrapper {
  max-width: 135.6rem;
  padding: 0 2.4rem;
  margin: 0 auto;
}
.btn-principal {
  position: relative;
  font-size: 1.4rem;
  font-family: "Rubik", sans-serif;
  color: white;
  border: 1px solid #fdbc02;
  background-color: #fdbc02;
  border-radius: 0.4rem;
  transition: 0.3s;
}
.btn-principal::before {
  position: absolute;
  content: "";
  top: -4px;
  bottom: -4px;
  left: -4px;
  right: -4px;
  opacity: 1;
  background-color: #e31102;
  -webkit-transform: scale3d(0.7, 1, 1);
  transform: scale3d(0.7, 1, 1);
  -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  z-index: -1;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}
.btn-principal:hover {
  background-color: #e31102;
  color: black;
}
.btn-principal:hover::before {
  transform: scale3d(1, 1, 1);
}
.btn-principal:hover::before {
  opacity: 1;
  background-color: #fdbc02;
}
.btn-secondaire {
  position: relative;
  font-size: 1.4rem;
  font-family: "Rubik", sans-serif;
  color: black;
  border: 1px solid #7e8496;
  background-color: #7e8496;
  border-radius: 0.4rem;
  transition: 0.3s;
}
.btn-secondaire::before {
  position: absolute;
  content: "";
  top: -4px;
  bottom: -4px;
  left: -4px;
  right: -4px;
  opacity: 1;
  background-color: #c0c5d1;
  -webkit-transform: scale3d(0.7, 1, 1);
  transform: scale3d(0.7, 1, 1);
  -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  z-index: -1;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}
.btn-secondaire:hover {
  background-color: #c0c5d1;
  color: black;
}
.btn-secondaire:hover::before {
  transform: scale3d(1, 1, 1);
}
.btn-secondaire:hover::before {
  opacity: 1;
  background-color: #7e8496;
}
.img-fluid {
  width: 100%;
  height: auto;
}
.p-2 {
  padding: 0 2.4rem;
}
h2 {
  font-family: "Julius Sans One", sans-serif;
  font-size: 5.5rem;
  border-bottom: 1px solid #2c5732;
  text-align: center;
  color: #0d0d0d;
  padding-bottom: 1.6rem;
}
@media (max-width: 730px) {
  h2 {
    font-size: 3.9rem;
  }
}
h3 {
  font-family: "Julius Sans One", sans-serif;
  font-size: 3.9rem;
  text-transform: uppercase;
}
@media (max-width: 599px) {
  h3 {
    font-size: 2.2rem;
  }
}
.sticky {
  position: fixed;
  padding-bottom: 1rem !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 15;
  animation: fadeInBottom 0.3s;
}
.logo-commune {
  max-width: 15rem;
}
.hamburger {
  padding: 15px 15px;
  display: none;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
@media (max-width: 730px) {
  .hamburger {
    display: inline-block;
  }
}
.hamburger:hover {
  opacity: 0.7;
}
.hamburger.is-active:hover {
  opacity: 0.7;
}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after {
  background-color: #b8dfde;
}
.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}
.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 40px;
  height: 4px;
  background-color: #b8dfde;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -10px;
}
.hamburger-inner::after {
  bottom: -10px;
}
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  background-color: #0d0d0d;
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
  background-color: #0d0d0d;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  background-color: #0d0d0d;
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  background-color: #0d0d0d;
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
  background-color: #0d0d0d;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  background-color: #0d0d0d;
}
/*Fin du Hamburger*/
header .fond-header {
  background-image: linear-gradient(to bottom, #f5f6fa, white);
}
#header {
  background-color: #f5f6fa;
  padding-bottom: 13.2rem;
  color: #0d0d0d;
}
@media (max-width: 910px) {
  #header {
    padding-bottom: 5rem;
  }
}
#header a {
  text-decoration: none;
  color: #0d0d0d;
}
#header #logo {
  margin-top: 1rem;
  border: none;
}
#header #logo p {
  color: #0d0d0d;
}
#header #logo .mairie {
  font-size: 2rem;
  font-family: "Rubik", sans-serif;
  line-height: 3.2rem;
  text-align: center;
  margin-bottom: 3.2rem;
  position: relative;
}
@media (max-width: 599px) {
  #header #logo .mairie {
    font-size: 1.6rem;
  }
}
#header #logo .nom-mairie {
  font-size: 4.2rem;
  font-family: "Julius Sans One", sans-serif;
  text-align: center;
  display: block;
  margin-top: 1rem;
  position: relative;
}
@media (max-width: 599px) {
  #header #logo .nom-mairie {
    font-size: 3rem;
  }
}
#header #logo .nom-mairie::before {
  content: "";
  position: absolute;
  height: 0.1rem;
  width: 100%;
  background-color: #fdbc02;
  top: -1.6rem;
  left: 0;
}
#header #logo .nom-mairie::after {
  content: "";
  position: absolute;
  height: 0.1rem;
  width: 100%;
  background-color: #fdbc02;
  bottom: -1.6rem;
  left: 0;
}
@media (max-width: 730px) {
  #header #header-nav {
    position: relative;
  }
}
#header #header-nav #menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 730px) {
  #header #header-nav #menu {
    padding-top: 3rem;
  }
}
#header #header-nav #menu #menu-principal {
  display: flex;
  justify-content: space-between;
  width: 65%;
  animation: fadeIntop 0.3s;
}
@media (max-width: 730px) {
  #header #header-nav #menu #menu-principal {
    align-items: center;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: #f5f6fa;
    display: none;
  }
}
@media (max-width: 599px) {
  #header #header-nav #menu #menu-principal {
    flex-wrap: wrap;
    justify-content: space-around;
    flex-direction: column;
  }
}
#header #header-nav #menu #menu-principal.active {
  display: flex;
}
#header #header-nav #menu #menu-principal #menu-menu-principal {
  display: flex;
  justify-content: space-around;
  list-style: none;
}
@media (max-width: 730px) {
  #header #header-nav #menu #menu-principal #menu-menu-principal {
    display: none;
  }
  #header #header-nav #menu #menu-principal #menu-menu-principal.active {
    display: flex;
  }
}
#header #header-nav #menu #menu-principal #menu-menu-principal li {
  padding: 0 2.4rem;
  font-family: "Rubik", sans-serif;
  font-size: 2rem;
}
@media (max-width: 910px) {
  #header #header-nav #menu #menu-principal #menu-menu-principal li {
    padding: 0 1.4rem;
  }
}
#header #header-nav #menu #menu-principal #menu-menu-principal li a {
  position: relative;
}
#header #header-nav #menu #menu-principal #menu-menu-principal li a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #fdbc02;
  visibility: hidden;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
#header #header-nav #menu #menu-principal #menu-menu-principal li a:hover:before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
#header #header-nav #menu #menu-principal #menu-reseaux-sociaux {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 730px) {
  #header #header-nav #menu #menu-principal #menu-reseaux-sociaux {
    display: none;
  }
  #header #header-nav #menu #menu-principal #menu-reseaux-sociaux.active {
    display: flex;
  }
}
#header #header-nav #menu #menu-principal #menu-reseaux-sociaux li {
  font-size: 1.4rem;
  position: relative;
  padding-right: 1rem;
}
#header #header-nav #menu #menu-principal #menu-reseaux-sociaux li a {
  position: relative;
  z-index: 10;
  font-family: "Rubik", sans-serif;
}
#header #header-nav #menu #menu-principal #menu-reseaux-sociaux li a::before {
  content: "";
  position: absolute;
  background-color: #e31102;
  height: auto;
  bottom: 0;
  top: 0;
  left: 12.5%;
  right: 12.5%;
  z-index: -1;
  transition: 0.3s;
}
#header #header-nav #menu #menu-principal #menu-reseaux-sociaux li a:hover::before {
  left: 0;
  right: 0;
}
#presentation-mairie {
  padding-bottom: 5rem;
  background-image: linear-gradient(to bottom, #f5f6fa, white);
}
.sticky + #presentation-mairie {
  padding-top: 10rem;
}
#presentation-mairie .img-fluid {
  max-width: 86.4rem;
}
#presentation-mairie .h1 {
  font-size: 7.7rem;
  text-align: center;
  text-transform: uppercase;
  font-family: "Julius Sans One", sans-serif;
  color: #0d0d0d;
  border: 0;
}
@media (max-width: 730px) {
  #presentation-mairie .h1 {
    font-size: 4.5rem;
  }
}
#presentation-mairie .h1 span {
  font-size: 10.8rem;
}
@media (max-width: 599px) {
  #presentation-mairie .h1 span {
    font-size: 5.1rem;
  }
}
#presentation-mairie #header-image {
  text-align: center;
}
#presentation-mairie #scrollToFooter a {
  color: #0d0d0d;
  font-size: 1.4rem;
  padding-right: 2.2rem;
  padding-left: 0.8rem;
  background-color: #e31102;
  background-image: url(../img/ArrowDown.png);
  background-position: 100% 50%;
  background-repeat: no-repeat;
  text-decoration: none;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}
#alerte {
  padding: 1.6rem 0;
  color: white;
}
#alerte p {
  font-size: 1.4rem;
}
#alerte p:first-child {
  margin-bottom: 1.8rem;
}
#alerte a {
  font-size: 1.4rem;
  text-decoration: none;
  text-transform: uppercase;
  color: white;
  position: relative;
  z-index: 10;
  font-family: "Rubik", sans-serif;
}
#alerte a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12.5%;
  left: 12.5%;
  background: #2c5732;
  z-index: -1;
  transition: 0.3s;
}
#alerte a:hover::before {
  right: 0;
  left: 0;
}
#alerte h2 {
  font-size: 2.8rem;
  font-family: "Rubik", sans-serif;
  padding-right: 3.2rem;
  color: white;
  border: none;
}
#alerte #alert-content {
  display: flex;
}
#pdf {
  padding: 0 11.1rem;
}
@media (max-width: 910px) {
  #pdf {
    padding: 0;
  }
}
#pdf .description-publications {
  margin-top: 4.8rem;
  font-family: "Rubik", sans-serif;
  font-size: 2rem;
  margin-bottom: 5.6rem;
}
#pdf h3 {
  font-size: 2.8rem;
  font-family: "Rubik", sans-serif;
  margin-bottom: 4rem;
}
#pdf h3.plu {
  margin-top: 5.6rem;
}
#pdf .accordion {
  padding: 0;
}
#pdf .accordion-title {
  padding: 4.4rem 0;
  border-right: none;
  border-left: none;
  border-top: 1px solid #7e8496;
  border-bottom: 1px solid #7e8496;
  background: transparent;
}
#pdf .accordion-title.is-expanded {
  border-bottom: none;
}
#pdf .accordion .div-accordion a {
  text-decoration: none;
}
#pdf .accordion button .fas.fa-angle-up::after {
  position: absolute;
  content: "";
  font-size: 2rem;
  background: #2c5732;
  width: 0.1rem;
  height: 3.2rem;
  left: 1.5rem;
  right: 0;
  transition: 0.3s;
  transform: rotate(0deg);
}
#pdf .accordion button .fas.fa-angle-up::before {
  position: absolute;
  content: "";
  font-size: 2rem;
  background: #2c5732;
  width: 3.2rem;
  height: 0.1rem;
  left: 0;
  right: 0;
  transition: 0.3s;
  transform: rotate(0deg);
}
#pdf .accordion button:hover .fas.fa-angle-up::after, #pdf .accordion button:hover .fas.fa-angle-up::before {
  transform: rotate(22.5deg);
}
#pdf .accordion button.is-expanded .fas.fa-angle-up::after, #pdf .accordion button.is-expanded .fas.fa-angle-up::before {
  transform: rotate(45deg);
}
#pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 910px) {
  #pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf {
    display: block;
  }
}
#pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf .button-accordeon {
  display: flex;
  width: 33%;
  justify-content: space-evenly;
  margin: 4.3rem 0;
}
@media (max-width: 1200px) {
  #pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf .button-accordeon {
    width: 45%;
  }
}
@media (max-width: 1110px) {
  #pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf .button-accordeon {
    width: 55%;
  }
}
@media (max-width: 910px) {
  #pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf .button-accordeon {
    width: 100%;
    flex-wrap: wrap;
  }
  #pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf .button-accordeon a {
    margin: 1.5rem 0;
  }
}
#pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf p.titre-pdf {
  font-size: 2rem;
  width: 100%;
  padding: 0;
  text-decoration: none;
  color: black;
  position: relative;
}
#pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf p.titre-pdf::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #fdbc02;
  visibility: hidden;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
#pdf .accordion .accordion-content .wp-block-lazyblock-fichier-pdf p.titre-pdf:hover::before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
#formulaire-contact .group-contact input, #formulaire-contact #captcha {
  background-color: #121f4a;
  border: none;
  border-bottom: 1px solid white;
  color: white;
  font-size: 2rem;
  font-family: "Rubik", sans-serif;
}
#formulaire-contact #champobligatoire {
  text-align: right;
  font-family: "Rubik", sans-serif;
  margin-bottom: 2.4rem;
}
#formulaire-contact .entry {
  display: flex;
  flex-direction: column;
  margin-bottom: 4rem;
}
#formulaire-contact .entry label {
  margin-bottom: 0.8rem;
  font-family: "Rubik", sans-serif;
}
#formulaire-contact .entry textarea {
  background-color: #121f4a;
  border: none;
  border-bottom: 1px solid white;
  color: white;
  font-size: 2rem;
  font-family: "Rubik", sans-serif;
}
#formulaire-contact #case-mentions {
  display: flex;
  align-items: flex-start;
}
#formulaire-contact #case-mentions a {
  color: white;
}
#formulaire-contact #case-mentions #label-mentions {
  padding-left: 2.4rem;
  color: white;
}
#formulaire-contact #case-mentions #label-mentions .cf-m-legales {
  margin-top: 1.6rem;
  margin-bottom: 4.2rem;
}
#formulaire-contact #captcha-envoi {
  display: flex;
  -webkit-animation: accordionIn 0.45s normal ease-in-out both 1;
  animation: accordionIn 0.45s normal ease-in-out both 1;
}
#formulaire-contact #captcha-envoi label {
  padding-right: 0.4rem;
}
#formulaire-contact #captcha-envoi #captcha-test {
  padding-right: 6.1rem;
}
@media (max-width: 360px) {
  #formulaire-contact #captcha-envoi #captcha-test {
    padding-right: 0.9rem;
  }
}
#formulaire-contact #captcha-envoi #captcha-test #captcha {
  width: 4.3rem;
}
#formulaire-contact #captcha-envoi button {
  padding: 1.2rem 2.4rem;
}
main .infos {
  font-size: 1.4rem;
  text-align: center;
  color: #fdbc02;
  margin-bottom: 2.7rem;
  text-transform: uppercase;
  font-family: "Rubik", sans-serif;
}
main .infos span {
  padding: 0 1.6rem;
  border-right: 1px solid;
  border-left: 1px solid;
}
main #bloc-alerte {
  background-color: #fdbc02;
}
main #bloc-maire {
  margin-top: 6.4rem;
}
main #bloc-maire .wrapper {
  display: flex;
}
@media (max-width: 910px) {
  main #bloc-maire .wrapper {
    display: block;
  }
}
main #bloc-maire .rem-2 {
  font-size: 2rem;
}
main #bloc-maire .bloc-gauche {
  background-color: white;
}
main #bloc-maire .bloc-gauche .h2, main #bloc-maire .bloc-gauche .infos {
  text-align: left;
}
main #bloc-maire .bloc-gauche .rem-2 {
  margin-top: 4.8rem;
}
main #bloc-maire .bloc-gauche .mairie {
  width: 79%;
}
@media (max-width: 910px) {
  main #bloc-maire .bloc-gauche .mairie {
    width: 100%;
    margin-bottom: 8rem;
  }
}
main #bloc-maire .bloc-gauche {
  width: 90%;
}
main #bloc-maire .bloc-droite {
  background-color: #c0c5d1;
  margin-top: 3.2rem;
  position: relative;
  width: 100%;
}
main #bloc-maire .bloc-droite .mot-maire {
  padding-right: 2.4rem;
  margin-left: 34%;
}
@media (max-width: 1110px) {
  main #bloc-maire .bloc-droite .mot-maire {
    margin-left: 45%;
  }
}
@media (max-width: 910px) {
  main #bloc-maire .bloc-droite .mot-maire {
    margin-left: 0;
    padding: 0 2.4rem;
    padding-top: 8.8rem;
    padding-bottom: 1rem;
  }
}
main #bloc-maire .bloc-droite .mot-maire #img-maire {
  width: 27rem;
  height: 27rem;
  position: absolute;
  left: -8.7rem;
  top: -7.6rem;
  border: 1px solid;
  padding: 2.4rem;
}
@media (max-width: 910px) {
  main #bloc-maire .bloc-droite .mot-maire #img-maire {
    width: 20rem;
    height: 20rem;
    left: calc(50% - 10rem);
  }
}
main #bloc-maire .bloc-droite .mot-maire #img-maire img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
main #bloc-maire .bloc-droite .mot-maire h3 {
  margin-top: 4.8rem;
  margin-bottom: 3.2rem;
}
main #bloc-maire .bloc-droite .mot-maire .rem-2 {
  margin-bottom: 4.8rem;
}
main #bloc-publications {
  background-image: linear-gradient(to bottom, #ffffff, #f5f6fa);
  margin-top: 6.4rem;
  padding-bottom: 24rem;
}
main #bloc-contact {
  background-color: #ffffff;
  position: relative;
  margin-top: 6.4rem;
}
main #bloc-contact .h3 {
  margin-bottom: 2.4rem;
}
main #bloc-contact .wrapper {
  display: flex;
}
@media (max-width: 910px) {
  main #bloc-contact .wrapper {
    display: block;
  }
}
main #bloc-contact #infos-contact {
  width: 50%;
  padding-right: 2.4rem;
  position: relative;
}
@media (max-width: 910px) {
  main #bloc-contact #infos-contact {
    width: 100%;
  }
}
main #bloc-contact #infos-contact .infos {
  text-align: left;
}
main #bloc-contact #infos-contact .h2 {
  text-align: left;
}
main #bloc-contact #infos-contact .description-contact {
  margin-top: 4.8rem;
  font-family: "Rubik", sans-serif;
  font-size: 2rem;
  margin-bottom: 10rem;
}
main #bloc-contact #contact {
  background-color: #507054;
  color: white;
  position: absolute;
  left: calc(50% + 2.4rem);
  width: 53.1rem;
  top: -18.4rem;
}
@media (max-width: 1200px) {
  main #bloc-contact #contact {
    width: 43rem;
  }
}
@media (max-width: 910px) {
  main #bloc-contact #contact {
    position: relative;
    margin: 0 auto;
    margin-bottom: 2rem;
    left: 0;
    top: 0;
  }
}
@media (max-width: 599px) {
  main #bloc-contact #contact {
    width: 31rem;
  }
}
@media (max-width: 360px) {
  main #bloc-contact #contact {
    width: 25rem;
  }
}
main #bloc-contact #contact .container {
  padding: 4rem 4.8rem;
  font-size: 1.4rem;
}
@media (max-width: 599px) {
  main #bloc-contact #contact .container {
    padding: 2rem;
  }
}
footer #footer {
  background-color: #c0c5d1;
}
footer #footer p {
  font-size: 2rem;
  font-family: "Rubik", sans-serif;
  color: #0d0d0d;
}
footer #footer .footer-infos {
  padding: 0 22.2rem;
  padding-top: 18.4rem;
  padding-bottom: 6.5rem;
}
@media (max-width: 1110px) {
  footer #footer .footer-infos {
    padding: 18.4rem 11.2rem 6.5rem 11.2rem;
  }
}
@media (max-width: 910px) {
  footer #footer .footer-infos {
    padding: 3.4rem 11.2rem 3.4rem 11.2rem;
  }
}
@media (max-width: 910px) {
  footer #footer .footer-infos {
    padding: 3.4rem 3.2rem 3.4rem 3.2rem;
  }
}
@media (max-width: 599px) {
  footer #footer .footer-infos {
    padding: 4rem 2.4rem;
  }
}
footer #footer .footer-infos .footer-infos-border {
  display: flex;
  justify-content: space-evenly;
  border: 1px solid #2c5732;
  padding: 8rem 0;
}
@media (max-width: 599px) {
  footer #footer .footer-infos .footer-infos-border {
    display: block;
    padding: 4rem 2.4rem;
  }
}
footer #footer .footer-infos .titre-infos {
  font-family: "Rubik", sans-serif;
  color: #507054;
  font-weight: bold;
  margin-bottom: 0.8rem;
}
footer #footer .footer-infos #adresse p {
  margin-bottom: 2.4rem;
}
footer #footer .footer-infos #adresse a {
  position: relative;
  z-index: 10;
  text-decoration: none;
  color: #0d0d0d;
}
footer #footer .footer-infos #adresse a.mail::before, footer #footer .footer-infos #adresse a.telephone::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #fdbc02;
  visibility: hidden;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
footer #footer .footer-infos #adresse a.mail:hover::before, footer #footer .footer-infos #adresse a.telephone:hover::before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
footer #footer .footer-infos #adresse .carte:hover::before {
  left: 0;
  right: 0;
}
footer #footer .footer-infos #adresse .carte::before {
  content: "";
  position: absolute;
  background-color: #7e8496;
  height: auto;
  bottom: 0;
  top: 0;
  left: 12.5%;
  right: 12.5%;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#footer-mentions {
  background-color: #7e8496;
}
#footer-mentions ul {
  display: flex;
  justify-content: space-evenly;
  padding: 2.4rem 0;
  width: 100%;
}
@media (max-width: 599px) {
  #footer-mentions ul {
    flex-wrap: wrap;
  }
  #footer-mentions ul .accessibilite {
    width: 100%;
    text-align: center;
    margin-bottom: 1rem;
  }
}
#footer-mentions a {
  text-decoration: none;
  color: black;
  font-size: 1.4rem;
  font-family: "Rubik", sans-serif;
  color: #0d0d0d;
  font-weight: bold;
  position: relative;
  z-index: 10;
}
#footer-mentions a:hover::before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
#footer-mentions a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #0d0d0d;
  visibility: hidden;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
.sticky + #presentation-mairie {
  padding-top: 10rem;
}
#page .titre-mentions {
  margin-bottom: 7.2rem;
}
#page h2 {
  text-align: left;
  margin-bottom: 6.5rem;
}
#page .img-fluid {
  width: 69%;
}
#page ul {
  font-size: 2rem;
  list-style: circle;
  margin-bottom: 4rem;
  margin-left: 4rem;
}
#page p {
  font-size: 2rem;
  font-family: "Rubik", sans-serif;
  margin-bottom: 7.2rem;
}
#page h3 {
  margin-bottom: 4rem;
}
#page .object {
  font-size: 2.8rem;
  font-family: "Rubik", sans-serif;
  margin: 4rem 0;
}
#footer h3 {
  font-size: 2rem;
  font-family: "Rubik", sans-serif;
  margin-bottom: 7.2rem;
}
#footer ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#header-404 {
  background-image: linear-gradient(to bottom, #f5f6fa, white);
  padding-bottom: 7.2rem;
}
.sticky + #header-404 {
  padding-top: 10rem;
}
@media (max-width: 1200px) {
  #header-404 .h3 {
    text-align: center;
  }
}
#error-search {
  padding: 13.9rem 11.1rem;
  position: relative;
  z-index: 10;
}
@media (max-width: 599px) {
  #error-search {
    padding: 6rem 0;
  }
}
#error-search form#errorform {
  text-align: center;
  max-width: 26rem;
  border: 1px solid black;
  margin: 0 auto;
  background-color: white;
}
#error-search form#errorform::before {
  position: absolute;
  content: "404";
  color: #fdbc02;
  z-index: -1;
  right: 29%;
  font-size: 32rem;
  top: 0;
  font-family: "Julius Sans One", sans-serif;
}
@media (max-width: 1110px) {
  #error-search form#errorform::before {
    right: 19%;
  }
}
@media (max-width: 730px) {
  #error-search form#errorform::before {
    font-size: 25rem;
    right: 20%;
    top: 15%;
  }
}
@media (max-width: 599px) {
  #error-search form#errorform::before {
    font-size: 5rem;
    right: 40%;
    top: 0;
  }
}
#error-search form#errorform input#s {
  padding: 2.4rem;
  border: none;
}
#error-search form#errorform button {
  border: none;
  background-color: white;
}
div#search-div {
  text-align: center;
  padding: 4rem 11.1rem;
  background: #e31102;
  width: 86.4rem;
  margin: 0 auto;
  margin-bottom: 12rem;
  font-family: "Rubik", sans-serif;
}
@media (max-width: 910px) {
  div#search-div {
    padding: 4rem 3.1rem;
    width: 70.4rem;
    margin-bottom: 6rem;
  }
}
@media (max-width: 730px) {
  div#search-div {
    width: 45rem;
  }
}
@media (max-width: 599px) {
  div#search-div {
    width: 25rem;
  }
}
div#search-div .h3 {
  margin-bottom: 3rem;
}
@media (max-width: 1200px) {
  div#search-div .h3 {
    text-align: center;
  }
}
div#search-div p {
  text-align: left;
  font-size: 2rem;
  margin-bottom: 2.4rem;
}
div#search-div p.first-link {
  padding-bottom: 3.2rem;
  border-bottom: 1px solid #7e8496;
  margin-bottom: 3.2rem;
}
div#search-div p a {
  position: relative;
  z-index: 10;
  font-family: "Rubik", sans-serif;
  text-decoration: none;
  color: #0d0d0d;
}
div#search-div p a::before {
  content: "";
  position: absolute;
  background-color: #7e8496;
  height: auto;
  bottom: 0;
  top: 0;
  left: 12.5%;
  right: 12.5%;
  z-index: -1;
  transition: 0.3s;
}
@media (max-width: 599px) {
  div#search-div p a::before {
    content: none;
  }
}
div#search-div p a:hover::before {
  left: 0;
  right: 0;
}
