.bloc-2-colonnes {
  margin-top: 50px;
  margin-bottom: 50px;
}
.bloc-2-colonnes a {
  margin-top: 20px;
  margin-bottom: 20px;
  color: #163047;
}
.bloc-2-colonnes a:hover {
  font-weight: bold;
}
.bloc-2-colonnes a span {
  color: #163047;
}
.bloc-2-colonnes a span:hover {
  font-weight: bold !important;
}
.bloc-2-colonnes .odd .left {
  flex-basis: 33.33%;
}
.bloc-2-colonnes .odd .right {
  flex-basis: 66.66%;
}
.bloc-2-colonnes .odd .right img {
  max-height: 441px;
  object-fit: cover;
  object-position: center;
}
.bloc-2-colonnes .even .left, .bloc-2-colonnes .even .right {
  flex-basis: 50%;
}
.bloc-2-colonnes .container {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 1200px) {
  .bloc-2-colonnes .container {
    padding: 0 20px;
  }
}
.bloc-2-colonnes .container .left, .bloc-2-colonnes .container .right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bloc-2-colonnes .container .left h2, .bloc-2-colonnes .container .right h2 {
  margin-top: 20px;
  margin-bottom: 15px;
  color: #E52233;
}
.bloc-2-colonnes .container .left img, .bloc-2-colonnes .container .right img {
  display: block;
  width: 100%;
}
.bloc-2-colonnes .container .left ul, .bloc-2-colonnes .container .left ol, .bloc-2-colonnes .container .right ul, .bloc-2-colonnes .container .right ol {
  margin-left: 40px;
}
.bloc-2-colonnes .container .left ul li, .bloc-2-colonnes .container .left ol li, .bloc-2-colonnes .container .right ul li, .bloc-2-colonnes .container .right ol li {
  font-size: 16px;
  font-family: "Averta";
  font-weight: 400;
  padding-top: 5px;
  padding-bottom: 5px;
}
.bloc-2-colonnes .container .left p > a, .bloc-2-colonnes .container .left li > a, .bloc-2-colonnes .container .right p > a, .bloc-2-colonnes .container .right li > a {
  color: #163047;
}
.bloc-2-colonnes .container .left p > a:hover, .bloc-2-colonnes .container .left li > a:hover, .bloc-2-colonnes .container .right p > a:hover, .bloc-2-colonnes .container .right li > a:hover {
  font-weight: 600;
}
.bloc-2-colonnes .container .left video, .bloc-2-colonnes .container .right video {
  display: block;
  width: 100%;
}
.bloc-2-colonnes .container .left iframe, .bloc-2-colonnes .container .right iframe {
  display: block;
  aspect-ratio: 16/9;
  border: none;
  width: 100%;
}
.bloc-2-colonnes .container .right {
  align-items: end;
}
.bloc-2-colonnes .container .right a, .bloc-2-colonnes .container .right p, .bloc-2-colonnes .container .right h2, .bloc-2-colonnes .container .right ul, .bloc-2-colonnes .container .right h3, .bloc-2-colonnes .container .right h4 {
  align-self: start;
}
.bloc-2-colonnes .container .left {
  align-items: start;
}

.bloc-media {
  margin-bottom: 80px;
}
.bloc-media .media-container .images-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.bloc-media .media-container .images-container img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  max-height: 441px;
  height: 100%;
}
.bloc-media .media-container video {
  width: 100%;
  max-height: 441px;
  height: 100%;
}
.bloc-media .media-container iframe {
  width: 100%;
  aspect-ratio: 16/9;
  max-height: 441px;
  height: 100%;
  border: none;
}

.bloc-accordeon {
  margin-bottom: 80px;
}
.bloc-accordeon .container {
  display: grid;
  grid-template-rows: 1fr;
  grid-column-gap: 60px;
  grid-template-columns: 1fr 2fr;
}
@media screen and (max-width: 768px) {
  .bloc-accordeon .container {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .bloc-accordeon .container .left-part {
    width: 95%;
    margin: 0 auto;
  }
}
.bloc-accordeon .container .left-part h2 {
  margin-bottom: 20px;
  color: #E52233;
}
.bloc-accordeon .container .left-part p a {
  color: #163047;
  font-weight: bold;
}
.bloc-accordeon .container .right-part {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .bloc-accordeon .container .right-part {
    margin: 40px auto 0 auto;
    width: 95%;
  }
}
.bloc-accordeon .container .right-part .question-container {
  margin-bottom: 25px;
}
.bloc-accordeon .container .right-part .question-container .question-row {
  display: flex;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
}
.bloc-accordeon .container .right-part .question-container .question-row .question {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}
.bloc-accordeon .container .right-part .question-container .question-row .toggle-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-size: 30px;
  color: #163047;
}
.bloc-accordeon .container .right-part .question-container .answer {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.4s ease, opacity 0.3s ease;
  will-change: height, opacity;
}
.bloc-accordeon .container .right-part .question-container .answer.open {
  opacity: 1;
  margin-top: 15px;
}
.bloc-accordeon .container .right-part .question-container .answer p a {
  color: #163047;
  font-weight: 400;
}
.bloc-accordeon .container .right-part .question-container .answer p a:hover {
  font-weight: bold;
}
.bloc-accordeon .container .right-part .question-container .answer ul, .bloc-accordeon .container .right-part .question-container .answer ol {
  margin-left: 20px;
}
.bloc-accordeon .container .right-part .question-container .answer ul li, .bloc-accordeon .container .right-part .question-container .answer ol li {
  font-size: 16px;
}
.bloc-accordeon .container .right-part .question-container .answer ul li a, .bloc-accordeon .container .right-part .question-container .answer ol li a {
  color: #163047;
  font-weight: 400;
}
.bloc-accordeon .container .right-part .question-container .answer ul li a:hover, .bloc-accordeon .container .right-part .question-container .answer ol li a:hover {
  font-weight: bold;
}
.bloc-accordeon .container .right-part .question-container .answer .btn {
  margin-top: 20px;
}
.bloc-accordeon .container .right-part .question-container hr {
  border: none;
  border-top: 2px solid #163047;
  margin: 10px 0;
}

.bloc-texte {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .bloc-texte {
    width: 95vw;
    margin: 50px auto;
  }
}
.bloc-texte a {
  color: #163047;
  font-weight: 400;
}
.bloc-texte a:hover {
  font-weight: bold;
}
.bloc-texte h2 {
  margin-bottom: 40px;
}
.bloc-texte .texte a {
  color: #163047;
  font-weight: 400;
}
.bloc-texte .texte a:hover {
  font-weight: bold;
}
.bloc-texte .texte h3 {
  color: #163047;
  text-transform: none;
  font-size: 30px;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 20px;
}
.bloc-texte .texte h4 {
  color: #163047;
  text-transform: none;
  font-size: 25px;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 20px;
}
.bloc-texte .texte h5 {
  color: #163047;
  text-transform: none;
  font-size: 25px;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 20px;
}
.bloc-texte .texte h6 {
  color: #163047;
  text-transform: none;
  font-size: 25px;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 20px;
}
.bloc-texte .texte ul, .bloc-texte .texte ol {
  margin-left: 40px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.bloc-texte .texte ul li, .bloc-texte .texte ol li {
  font-size: 16px;
  font-family: "Averta";
  font-weight: 400;
  padding-top: 5px;
  padding-bottom: 5px;
}
.bloc-texte .btn {
  font-weight: 600;
  margin-top: 15px;
  margin-bottom: 15px;
}
.bloc-texte .two-columns {
  margin-top: 30px;
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 50px;
}
@media screen and (max-width: 768px) {
  .bloc-texte .two-columns {
    grid-template-columns: repeat(1, 1fr);
  }
}
.bloc-texte .two-columns h3 {
  margin-top: 0;
}

.bloc-exergue {
  margin-bottom: 80px;
}
.bloc-exergue .container-exergue {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
  min-height: 350px;
  padding-top: 50px;
  padding-bottom: 30px;
}
.bloc-exergue .container-exergue h2 {
  text-align: center;
}
.bloc-exergue .container-exergue .text-exergue {
  margin-top: 15px;
  color: #163047;
  text-align: center;
  width: 590px;
  font-size: 16px;
  margin-bottom: 30px;
}
.bloc-exergue .container-exergue .text-exergue a {
  color: #163047;
  font-weight: bold;
}
.bloc-exergue .container-exergue .text-exergue ul, .bloc-exergue .container-exergue .text-exergue ol {
  margin-left: 40px;
  margin-top: 10px;
  margin-bottom: 10px;
  list-style-position: inside;
}
.bloc-exergue .container-exergue .text-exergue ul li, .bloc-exergue .container-exergue .text-exergue ol li {
  font-size: 16px;
  font-family: "Averta";
  font-weight: 400;
  padding-top: 5px;
  padding-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .bloc-exergue .container-exergue .text-exergue {
    width: 90vw;
  }
}
.bloc-exergue .container-exergue .white a {
  color: white;
}
.bloc-exergue .container-exergue .white svg path {
  stroke: white;
}
.bloc-exergue .container-exergue .blue a {
  color: #163047;
}
.bloc-exergue .container-exergue .blue svg path {
  stroke: #163047;
}

.bloc-listing {
  margin-bottom: 80px;
}
.bloc-listing .container .item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .bloc-listing .container .item {
    flex-direction: column;
    gap: 30px;
    width: 95vw;
    margin: 0 auto;
  }
}
.bloc-listing .container .item .left h2 {
  color: #E52233;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .bloc-listing .container .item .left h2 {
    width: 100%;
  }
}
.bloc-listing .container .item .left a {
  color: #163047;
  font-weight: 600;
}
.bloc-listing .container .item .left ul {
  margin-left: 20px;
}
.bloc-listing .container .item .left ul li {
  font-size: 16px;
}
.bloc-listing .container hr {
  border: none;
  border-top: 2px solid #163047;
  margin: 40px 0 60px 0;
}

.bloc-pictos-chiffres {
  margin-bottom: 80px;
}
.bloc-pictos-chiffres .container h2 {
  margin-bottom: 60px;
  text-align: center;
}
.bloc-pictos-chiffres .container .items {
  display: grid;
  grid-column-gap: 80px;
}
@media screen and (max-width: 768px) {
  .bloc-pictos-chiffres .container .items {
    grid-template-columns: repeat(1, 1fr) !important;
    grid-row-gap: 60px;
  }
}
.bloc-pictos-chiffres .container .items .item {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .bloc-pictos-chiffres .container .items .item {
    width: 95%;
    margin: 0 auto;
  }
}
.bloc-pictos-chiffres .container .items .item .top {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  margin-bottom: 15px;
}
.bloc-pictos-chiffres .container .items .item .top img {
  height: 100%;
}
.bloc-pictos-chiffres .container .items .item .top .chiffre {
  font-size: 60px;
  font-weight: 600;
}
.bloc-pictos-chiffres .container .items .item h3 {
  color: #163047;
  text-transform: none;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 600;
}
.bloc-pictos-chiffres .container .special-grid {
  grid-column-gap: 50px;
}
@media screen and (max-width: 1200px) {
  .bloc-pictos-chiffres .container .special-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-row-gap: 60px;
  }
}
@media screen and (max-width: 768px) {
  .bloc-pictos-chiffres .container .special-grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}

.bloc-cartes-carrousel {
  margin-bottom: 80px;
  /**
   * Only when 3 cards not carousel mode
   */
}
@media screen and (max-width: 1200px) {
  .bloc-cartes-carrousel {
    padding: 0 20px;
  }
}
.bloc-cartes-carrousel .cards {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;
  scroll-padding-right: 20px;
  scroll-behavior: smooth;
}
.bloc-cartes-carrousel .cards::-webkit-scrollbar {
  display: none;
}
.bloc-cartes-carrousel .card {
  scroll-snap-align: start;
  flex-shrink: 0;
  position: relative;
}
.bloc-cartes-carrousel .card img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.bloc-cartes-carrousel .card .card-body {
  padding: 20px 20px 90px;
}
.bloc-cartes-carrousel .card .card-body h3 {
  color: white;
  font-size: 20px;
  margin-top: 15px;
  margin-bottom: 30px;
}
.bloc-cartes-carrousel .card .card-body p {
  color: white;
}
.bloc-cartes-carrousel .card .card-body .link-container {
  display: flex;
  justify-content: end;
  position: absolute;
  bottom: 30px;
  right: 20px;
}
.bloc-cartes-carrousel .carousel-controls {
  display: flex;
  gap: 15px;
  justify-content: flex-end;
  margin-top: 50px;
}
.bloc-cartes-carrousel .carousel-controls .carousel-btn {
  background-color: #E52233;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 10px;
  border-radius: 60px;
  width: 37px;
  height: 37px;
}
.bloc-cartes-carrousel .carousel-controls .carousel-btn:hover {
  background-color: #B30818;
}
.bloc-cartes-carrousel .carousel-controls .carousel-btn svg {
  height: 20px;
}
.bloc-cartes-carrousel .carousel-controls .carousel-btn svg path {
  stroke: white;
}
.bloc-cartes-carrousel .carousel-controls .carousel-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.bloc-cartes-carrousel .carousel-controls .left-btn {
  transform: rotate(180deg);
}
.bloc-cartes-carrousel[data-cards-count="3"] .cards, .bloc-cartes-carrousel[data-cards-count="2"] .cards, .bloc-cartes-carrousel[data-cards-count="1"] .cards {
  flex-wrap: wrap;
}
.bloc-cartes-carrousel[data-cards-count="3"] .cards .card, .bloc-cartes-carrousel[data-cards-count="2"] .cards .card, .bloc-cartes-carrousel[data-cards-count="1"] .cards .card {
  flex: 1;
}
.bloc-cartes-carrousel[data-cards-count="3"] .carousel-controls, .bloc-cartes-carrousel[data-cards-count="2"] .carousel-controls, .bloc-cartes-carrousel[data-cards-count="1"] .carousel-controls {
  display: none;
}

.event {
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid #E52233;
  padding: 50px 0;
  margin: 0 auto;
}
@media screen and (max-width: 950px) {
  .event {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    padding: 36px 0;
  }
}
.event .event-img {
  width: 385px;
  object-fit: cover;
  height: 236px;
}
@media screen and (max-width: 768px) {
  .event .event-img {
    width: calc(100% - 70px - 8px);
    aspect-ratio: 281/155;
    height: auto;
  }
}
.event .dates {
  width: 130px;
  height: 130px;
  background-color: #E52233;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 1160px) {
  .event .dates {
    margin-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .event .dates {
    width: 70px;
    height: 70px;
  }
}
.event .dates .mois {
  color: white;
  font-family: "Averta";
  font-size: 15px;
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .event .dates .mois {
    font-size: 8px;
  }
}
.event .dates .separateur {
  margin: 0;
  font-family: "Averta";
  color: white;
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .event .dates .separateur {
    display: none;
  }
}
.event .dates .jours {
  margin-top: 10px;
  color: white;
  font-family: "Averta";
  font-size: 30px;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .event .dates .jours {
    font-size: 16px;
  }
}
.event .dates .jours span {
  font-size: 20px;
  padding: 0 4px;
}
.event .dates .jours2 {
  margin-top: 0;
}
.event .twomonths {
  gap: 5px;
}
.event .twomonths .start, .event .twomonths .end {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .event .twomonths .start, .event .twomonths .end {
    gap: 3px;
  }
}
@media screen and (max-width: 768px) {
  .event .twomonths {
    gap: 3px;
  }
  .event .twomonths .mois {
    margin-bottom: -10px;
  }
}
.event .content-event {
  display: flex;
  flex-direction: column;
  width: 570px;
}
@media screen and (min-width: 768px) and (max-width: 1160px) {
  .event .content-event {
    width: 400px;
  }
}
@media screen and (max-width: 768px) {
  .event .content-event {
    width: 90vw;
    margin: 18px auto 0;
  }
}
.event .content-event h3 {
  text-transform: none;
  font-size: 30px;
  color: #163047;
  line-height: 36px;
}
@media screen and (max-width: 768px) {
  .event .content-event h3 {
    font-size: 20px;
    line-height: 24px;
  }
}
.event .content-event div {
  margin-top: 20px;
  margin-bottom: 20px;
  display: flex;
  flex-flow: row wrap;
  gap: 15px;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .event .content-event div {
    margin: 16px 0;
  }
}
.event .content-event div svg path {
  stroke: #E52233;
}
.event .content-event div svg circle {
  stroke: #E52233;
}
.event .content-event div p {
  font-weight: bold;
  font-size: 16px;
}
.event .content-event div .left-p {
  color: #E52233;
}
.event .content-event div .event-place svg {
  display: inline;
  margin-bottom: -3px;
  margin-right: 3px;
}
.event .content-event p {
  color: #163047;
  font-family: "Averta";
  font-size: 14px;
}
.event .content-event .link {
  margin-top: 20px;
}
.event .content-event .link a {
  text-decoration: none;
  display: flex;
  align-items: end;
  gap: 5px;
}
.event .content-event .link span {
  text-decoration: underline;
  color: #163047;
  font-size: 14px;
  font-family: "Averta";
}
.event .content-event .link span:hover {
  font-weight: bold;
}

.bloc-agenda {
  margin-bottom: 80px;
}
.bloc-agenda .container .lineagenda {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .bloc-agenda .container .lineagenda {
    display: block;
  }
}
.bloc-agenda .container .agenda .event:last-child {
  border: none;
}

.document-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  border-bottom: 2px solid #163047;
  margin-top: 60px;
  padding-bottom: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .document-card {
    padding-right: 0;
    margin: 60px auto 0;
  }
}
.document-card .document-top {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .document-card .document-top {
    flex-direction: column;
    gap: 20px;
  }
}
.document-card .document-top h3 {
  max-width: 50%;
  font-size: 20px;
  color: #163047;
  text-transform: unset;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .document-card .document-top h3 {
    max-width: unset;
  }
}
.document-card .document-bottom {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
.document-card .document-bottom .document-date {
  font-style: italic;
}
.document-card .document-bottom .document-category {
  border: 1px solid #163047;
  border-radius: 15px;
  padding: 2px 12px;
}

.bloc-infotheque {
  margin-bottom: 80px;
}
.bloc-infotheque .container form {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 35px;
}
@media screen and (max-width: 1000px) {
  .bloc-infotheque .container form {
    margin: 0 auto;
    gap: 20px;
  }
}
.bloc-infotheque .container form > div {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 25;
  min-width: 220px;
}
.bloc-infotheque .container form > div label {
  font-family: "Averta";
  font-size: 20px;
  font-weight: 600;
  color: #E52233;
  text-transform: uppercase;
}
.bloc-infotheque .container form > div input, .bloc-infotheque .container form > div select {
  border: 2px solid #163047;
  border-radius: 25px;
  background-color: white;
  font-family: "Averta";
  padding: 4px 10px;
  color: #163047;
  font-weight: 600;
  outline: none;
  min-height: 33px;
}
.bloc-infotheque .container form > div input:focus, .bloc-infotheque .container form > div select:focus {
  border-color: #163047;
}
.bloc-infotheque .container form .search {
  flex: 40;
  min-width: min(320px, 80dvw);
}
.bloc-infotheque .container .clear-filters {
  margin-top: 10px;
  cursor: pointer;
}
.bloc-infotheque .container .infotheque .document-card:last-child {
  border: none;
}
.bloc-infotheque .container .infotheque .pagination {
  text-align: center;
  margin-top: 70px;
  margin-bottom: 100px;
}
.bloc-infotheque .container .infotheque .links-pagination {
  color: #E52233;
  text-decoration: none;
  font-size: 20px;
  font-family: "Averta";
}
.bloc-infotheque .container .infotheque .links-pagination:hover {
  font-weight: bold;
}
.bloc-infotheque .container .infotheque .current-page {
  font-weight: bold;
}
.bloc-infotheque .container .infotheque .separateur-pagination {
  font-size: 20px;
  color: #E52233;
  font-family: "Averta";
}
.bloc-infotheque .container .infotheque .no-results {
  margin-bottom: 40px;
  margin-top: 40px;
}

.bloc-formulaire {
  margin-bottom: 80px;
}
.bloc-formulaire .container {
  padding-top: 90px;
  padding-bottom: 90px;
  background-color: #163047;
}
@media screen and (max-width: 1160px) {
  .bloc-formulaire .container {
    width: 100vw;
  }
}
.bloc-formulaire .title-form {
  text-align: center;
  color: #EADFCD;
  font-size: 30px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: normal;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 70px;
}
@media screen and (max-width: 500px) {
  .bloc-formulaire .title-form {
    line-height: 30px;
  }
}
.bloc-formulaire .form {
  width: 700px;
  margin: 0 auto;
}
.bloc-formulaire .form hr {
  border-color: #EADFCD;
}
.bloc-formulaire .form p {
  color: white;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 30px;
  margin-top: 30px;
}
.bloc-formulaire .form p label {
  text-align: left;
  align-content: center;
}
.bloc-formulaire .form p label a {
  color: inherit;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form p {
    flex-direction: column;
    gap: 5px;
  }
}
.bloc-formulaire .form input {
  height: 30px;
  width: 480px;
  border-radius: 15px;
  padding-left: 15px;
  border: none;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form input {
    width: 100%;
  }
}
.bloc-formulaire .form textarea {
  height: 280px;
  resize: none;
  width: 480px;
  border-radius: 15px;
  padding: 15px;
  border: none;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form textarea {
    width: 100%;
  }
}
.bloc-formulaire .form select {
  height: 30px;
  width: 480px;
  border-radius: 15px;
  padding-left: 15px;
  border: none;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form select {
    width: 100%;
  }
}
.bloc-formulaire .form .custom-select {
  width: 480px;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form .custom-select {
    width: 100%;
  }
}
.bloc-formulaire .form input[type=file] {
  display: none;
}
.bloc-formulaire .form .cv {
  display: flex;
  justify-content: space-between;
}
.bloc-formulaire .form .cv label {
  align-content: center;
}
@media screen and (max-width: 500px) {
  .bloc-formulaire .form .cv {
    flex-direction: column;
    margin-bottom: 30px;
  }
  .bloc-formulaire .form .cv p {
    margin-bottom: 0;
  }
}
.bloc-formulaire .form .custom-cv-upload {
  width: 170px;
  border-radius: 15px;
  height: 30px;
  cursor: pointer;
  color: #163047;
  font-family: "Averta";
  font-size: 16px;
  border: none;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form .custom-cv-upload {
    width: 100%;
  }
}
.bloc-formulaire .form .custom-cv-upload:hover {
  background-color: #e1e1e1;
}
.bloc-formulaire .form #cv-name, .bloc-formulaire .form .cv-name {
  margin-left: 10px;
  align-content: center;
}
.bloc-formulaire .form .lettre {
  display: flex;
  justify-content: space-between;
}
.bloc-formulaire .form .lettre label {
  align-content: center;
}
@media screen and (max-width: 500px) {
  .bloc-formulaire .form .lettre {
    flex-direction: column;
    margin-bottom: 30px;
  }
  .bloc-formulaire .form .lettre p {
    margin-bottom: 0;
  }
}
.bloc-formulaire .form .custom-lettre-upload {
  width: 170px;
  border-radius: 15px;
  height: 30px;
  cursor: pointer;
  color: #163047;
  font-family: "Averta";
  font-size: 16px;
  border: none;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form .custom-lettre-upload {
    width: 100%;
  }
}
.bloc-formulaire .form .custom-lettre-upload:hover {
  background-color: #e1e1e1;
}
.bloc-formulaire .form #lettre-name, .bloc-formulaire .form .letter-name {
  margin-left: 10px;
  align-content: center;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form {
    width: 90vw;
  }
}
.bloc-formulaire .form .custom-file-wrapper {
  width: 480px;
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form .custom-file-wrapper {
    width: 100%;
  }
}
.bloc-formulaire .form .wpcf7-radio {
  display: flex;
  height: 100%;
  align-items: center;
  width: 480px;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form .wpcf7-radio {
    width: 100%;
  }
}
.bloc-formulaire .form .wpcf7-radio .wpcf7-list-item {
  margin: 0;
}
.bloc-formulaire .form .wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bloc-formulaire .form .wpcf7-radio .wpcf7-list-item label input {
  width: 30px;
}
.bloc-formulaire .form .wpcf7-radio .last {
  margin-left: 1em;
}
.bloc-formulaire .form .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 5px;
  width: 480px;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .form .wpcf7-checkbox {
    width: 100%;
  }
}
.bloc-formulaire .form .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}
.bloc-formulaire .form .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 5px;
}
.bloc-formulaire .form .wpcf7-checkbox .wpcf7-list-item label input {
  width: 15px;
  height: 15px;
}
.bloc-formulaire .case p {
  display: flex;
  justify-content: space-between;
}
.bloc-formulaire .case a {
  color: white;
}
.bloc-formulaire .case input {
  width: 25px;
  height: 25px;
}
.bloc-formulaire .case .wpcf7-list-item {
  margin: 0;
}
.bloc-formulaire .case .case-text {
  padding-left: 10px;
  text-align: left;
}
.bloc-formulaire .valider {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: space-between;
  align-items: end;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .valider {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.bloc-formulaire .valider p {
  margin: 0;
  flex-direction: row-reverse;
}
.bloc-formulaire .valider p .wpcf7-form-control-wrap {
  order: 1;
}
@media screen and (max-width: 768px) {
  .bloc-formulaire .valider p {
    flex-direction: column;
  }
}
.bloc-formulaire .valider input {
  width: 225px;
  height: 40px;
  border-radius: 20px;
  background-color: #E52233;
  color: white;
  font-family: "Averta";
  font-size: 16px;
  font-weight: bold;
  padding: 0;
  cursor: pointer;
}
.bloc-formulaire .valider input:hover {
  background-color: #9c1a1a;
}
.bloc-formulaire .wpcf7-acceptance {
  display: flex;
  align-items: center;
}
.bloc-formulaire .wpcf7-acceptance label {
  display: flex;
}
.bloc-formulaire .wpcf7-acceptance input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.bloc-formulaire .wpcf7-acceptance:hover .wpcf7-list-item-label:before {
  cursor: pointer;
}
.bloc-formulaire .wpcf7-response-output {
  color: white;
}

.bloc-actualites {
  margin-bottom: 80px;
}
.bloc-actualites .container .top-actus {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-flow: row wrap;
}
.bloc-actualites .container .actualites {
  margin-top: 50px;
  display: flex;
  width: 100%;
  gap: 90px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}
.bloc-actualites .container .actualites::-webkit-scrollbar {
  display: none;
}
.bloc-actualites .container .actualites.col {
  flex: 1 0 33%;
  scroll-snap-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .bloc-actualites .container .actualites.col {
    flex: 1 0 50%;
  }
}
@media screen and (max-width: 768px) {
  .bloc-actualites .container .actualites.col {
    flex: 1 0 90%;
  }
}
.bloc-actualites .container .carousel-controls {
  display: flex;
  gap: 15px;
  justify-content: flex-end;
  margin-top: 50px;
  margin-right: 30px;
}
.bloc-actualites .container .carousel-controls .carousel-btn {
  background-color: #E52233;
  border: none;
  cursor: pointer;
  padding: 10px;
  border-radius: 60px;
  width: 37px;
  height: 37px;
}
.bloc-actualites .container .carousel-controls .carousel-btn svg {
  width: 17px;
  height: 17px;
}
.bloc-actualites .container .carousel-controls .carousel-btn svg path {
  stroke: white;
}
.bloc-actualites .container .carousel-controls .carousel-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.bloc-actualites .container .carousel-controls .left-btn-actus {
  transform: rotate(180deg);
}

.card {
  background-color: #EADFCD;
  width: 320px;
}
@media screen and (max-width: 768px) {
  .card {
    width: unset;
  }
}
.card a {
  text-decoration: none;
  font-family: "Averta";
  color: #163047;
}
.card .imgtop {
  height: 200px;
}
.card .imgtop img {
  width: 320px;
  height: 200px;
  object-fit: cover;
}
.card .botblog {
  height: 303px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 15px;
  position: relative;
}
.card .botblog .linetop {
  display: flex;
  justify-content: space-between;
  align-items: end;
}
.card .botblog .linetop .date .jour {
  font-weight: 700;
}
.card .botblog .linetop .taxo {
  border: 1px solid #163047;
  border-radius: 20px;
  padding: 3px 20px;
  font-size: 13px;
}
.card .botblog .titre {
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 15px;
  margin-top: 25px;
  max-height: 50px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card .botblog .texte {
  font-size: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 130px;
  line-height: 22px;
  margin-bottom: 20px;
}
.card .botblog .lien {
  text-align: end;
  text-decoration: underline;
  font-size: 14px;
  text-transform: uppercase;
  display: flex;
  justify-content: end;
  position: absolute;
  bottom: 15px;
  right: 15px;
}
.card .botblog .lien:hover {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .row {
    flex-direction: column;
    gap: 60px;
  }
  .row .card {
    display: flex;
    width: 100%;
  }
  .row .card .imgtop {
    height: 100%;
  }
  .row .card .imgtop img {
    height: 100%;
    aspect-ratio: 3/2;
  }
  .row .card .botblog {
    justify-content: flex-start;
    gap: 20px;
    height: unset;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .row {
    flex-direction: column;
  }
  .row .card .imgtop img {
    width: 100%;
  }
}
.row[data-nb-actualites="2"] {
  gap: 30px !important;
}
@media screen and (min-width: 768px) {
  .row[data-nb-actualites="2"] {
    gap: 30px !important;
  }
}

.bloc-contact {
  margin-bottom: 80px;
}
.bloc-contact .container {
  background-color: #163047;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 60px;
}
.bloc-contact .container h2 {
  color: white;
  margin-bottom: 50px;
}
@media screen and (max-width: 650px) {
  .bloc-contact .container .contacts {
    width: 95vw;
  }
}
.bloc-contact .container .contacts .contact-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 2px solid white;
}
.bloc-contact .container .contacts .contact-item:last-child {
  border-bottom: none;
}
.bloc-contact .container .contacts .contact-item .email {
  color: white;
  font-weight: 400;
  font-size: 16px;
  line-height: 21px;
  letter-spacing: 0.45px;
}
.bloc-contact .container .contacts .contact-item .title {
  text-transform: uppercase;
}
.bloc-contact .container .contacts .contact-item .btn {
  margin: 30px auto 0;
  align-content: center;
}
.bloc-contact .container .contacts .contact-item .links-container {
  margin: 30px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.bloc-contact .container .contacts .contact-item .links-container .btn {
  margin: 0;
}

.bloc-demarches {
  margin-bottom: 80px;
}
.bloc-demarches hr {
  border: none;
  border-top: 2px solid #163047;
  margin: 40px 0 60px 0;
}
@media screen and (max-width: 1200px) {
  .bloc-demarches .container {
    padding: 0 20px;
  }
}
.bloc-demarches.no-cat .item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .bloc-demarches.no-cat .item {
    flex-direction: column;
    gap: 30px;
    width: 95vw;
    margin: 0 auto;
  }
}
.bloc-demarches.no-cat .item .left h2 {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .bloc-demarches.no-cat .item .left h2 {
    width: 100%;
  }
}
.bloc-demarches.no-cat .item .left .texte {
  font-size: 16px;
  width: 70%;
}
@media screen and (max-width: 768px) {
  .bloc-demarches.no-cat .item .left .texte {
    width: 100%;
    font-size: 14px;
  }
}
.bloc-demarches.no-cat .item .left p a {
  color: #163047;
  font-weight: 600;
}
.bloc-demarches.no-cat .item .left ul {
  margin-left: 20px;
}
.bloc-demarches.no-cat .item .left ul li {
  font-size: 16px;
}
.bloc-demarches.no-cat .item .right {
  display: grid;
  justify-items: end;
  min-width: 250px;
}
.bloc-demarches.has-cat .demarches-container {
  margin-bottom: 60px;
}
.bloc-demarches.has-cat .demarches-container .demarche-header {
  margin-bottom: 35px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-transform: uppercase;
  transition: color 0.3s ease, border-bottom-color 0.3s ease;
  font-size: 30px;
  padding-bottom: 8px;
  border-bottom: 2px solid #163047;
  font-weight: 800;
}
@media screen and (max-width: 768px) {
  .bloc-demarches.has-cat .demarches-container .demarche-header {
    font-size: 20px;
  }
}
.bloc-demarches.has-cat .demarches-container .demarche-header.active {
  color: #E52233;
  border-bottom-color: #E52233;
}
.bloc-demarches.has-cat .demarches-container .demarche-header svg {
  transition: transform 0.3s ease;
}
.bloc-demarches.has-cat .demarches-container .demarche-header svg path {
  transition: all 0.3s ease;
}
.bloc-demarches.has-cat .demarches-container .demarche-header.active svg {
  transform: rotate(90deg);
}
.bloc-demarches.has-cat .demarches-container .demarche-header.active svg path {
  stroke: #E52233;
}
.bloc-demarches.has-cat .demarches-container .demarches .demarche {
  margin-top: 38px;
}
.bloc-demarches.has-cat .demarches-container .demarches .demarche .demarche-content {
  background-color: #EADFCD;
  padding: 34px 55px;
}
@media screen and (max-width: 768px) {
  .bloc-demarches.has-cat .demarches-container .demarches .demarche .demarche-content {
    padding: 34px 15px;
  }
}
.bloc-demarches.has-cat .demarches-container .demarches .demarche .demarche-content .line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 25px;
}
.bloc-demarches.has-cat .demarches-container .demarches .demarche .demarche-content .line .subtitle {
  font-size: 20px;
  font-weight: 800;
  text-transform: uppercase;
  color: #163047;
  font-family: "Averta";
}
.bloc-demarches.has-cat .demarches-container .demarches .demarche .demarche-content .excerpt {
  color: #163047;
  font-family: "Averta";
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .bloc-demarches.has-cat .demarches-container .demarches .demarche .demarche-content .excerpt {
    font-size: 14px;
  }
}

main .white {
  color: white;
}
main .blue {
  color: #163047;
}
main .landing-image {
  position: relative;
  background-image: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), var(--background-image, transparent);
}
main .landing-section {
  min-height: 470px;
  background-size: cover;
  margin-bottom: 80px;
  position: relative;
  display: flex;
  align-items: stretch;
  padding: 20px 0 40px;
}
main .landing-section .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
  height: auto;
  z-index: 2;
}
main .landing-section .container .fil-ariane {
  margin-right: auto;
}
main .landing-section .container .fil-ariane a {
  color: #163047;
  text-decoration: none;
  font-family: "Averta";
  font-size: 14px;
}
main .landing-section .container .fil-ariane a:hover {
  text-decoration: underline;
}
main .landing-section .container .fil-ariane span {
  font-family: "Averta";
  font-size: 14px;
  color: #163047;
}
main .landing-section .container .title {
  display: grid;
  margin: auto 0;
  text-align: center;
  justify-items: center;
}
main .landing-section .container .subtitle {
  margin-top: 15px;
  color: #163047;
  width: 590px;
}
@media screen and (max-width: 768px) {
  main .landing-section .container .subtitle {
    width: 90vw;
  }
}
main .landing-section .container .boutons {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 50px;
}

.white {
  color: white !important;
}
.white span {
  color: white !important;
}
.white span a {
  color: white !important;
}
