@charset "UTF-8";
@font-face {
  font-family: "FuturaMedium";
  src: url("./fonts/futura/FuturaMedium.woff") format("woff"), url("./fonts/futura/FuturaMedium.eot") format("eot"), url("./fonts/futura/FuturaMedium.eot?#iefix") format("embedded-opentype"), url("./fonts/futura/FuturaMedium.woff2") format("woff2"), url("./fonts/futura/FuturaMedium.ttf") format("ttf");
}
@font-face {
  font-family: "FuturaTMed";
  src: url("./fonts/futura/FuturaTMed.woff") format("woff"), url("./fonts/futura/FuturaTMed.eot") format("eot"), url("./fonts/futura/FuturaTMed.eot?#iefix") format("embedded-opentype"), url("./fonts/futura/FuturaTMed.woff2") format("woff2"), url("./fonts/futura/FuturaTMed.ttf") format("ttf");
}
@font-face {
  font-family: "FuturaHeavy";
  src: url("./fonts/futura/FuturaHeavy.woff") format("woff"), url("./fonts/futura/FuturaHeavy.eot") format("eot"), url("./fonts/futura/FuturaHeavy.eot?#iefix") format("embedded-opentype"), url("./fonts/futura/FuturaHeavy.woff2") format("woff2"), url("./fonts/futura/FuturaHeavy.ttf") format("ttf");
}
@font-face {
  font-family: "FuturaLight";
  src: url("./fonts/futura/FuturaLight.woff") format("woff"), url("./fonts/futura/FuturaLight.eot") format("eot"), url("./fonts/futura/FuturaLight.eot?#iefix") format("embedded-opentype"), url("./fonts/futura/FuturaLight.woff2") format("woff2"), url("./fonts/futura/FuturaLight.ttf") format("ttf");
}
body::-webkit-scrollbar-track {
  border-radius: 0px;
  background-color: #e1e1e1;
}

body::-webkit-scrollbar {
  border-radius: 0px;
  width: 10px;
  background-color: #e1e1e1;
}
@media only screen and (max-width: 900px) {
  body::-webkit-scrollbar {
    width: 5px;
  }
}
@media only screen and (max-width: 600px) {
  body::-webkit-scrollbar {
    width: 3px;
  }
}

body::-webkit-scrollbar-thumb {
  width: 10px;
  height: 10px;
  background-color: #05593F;
  transition: all 5s ease-out;
}

body::-webkit-scrollbar-thumb:hover {
  background-color: #05593F;
}

*.pspa-scrollbar-type1::-webkit-scrollbar-track {
  border-radius: 0px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #05593F;
}

*.pspa-scrollbar-type1::-webkit-scrollbar {
  border-radius: 0px;
  width: 10px;
  background-color: #05593F;
}
@media only screen and (max-width: 900px) {
  *.pspa-scrollbar-type1::-webkit-scrollbar {
    width: 5px;
  }
}
@media only screen and (max-width: 600px) {
  *.pspa-scrollbar-type1::-webkit-scrollbar {
    width: 3px;
  }
}

*.pspa-scrollbar-type1::-webkit-scrollbar-thumb {
  width: 10px;
  height: 10px;
  background-color: #e1e1e1;
}

*.pspa-scrollbar-type2::-webkit-scrollbar-track {
  border-radius: 0px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #525659;
}

*.pspa-scrollbar-type2::-webkit-scrollbar {
  border-radius: 0px;
  width: 10px;
  background-color: #525659;
}
@media only screen and (max-width: 900px) {
  *.pspa-scrollbar-type2::-webkit-scrollbar {
    width: 5px;
  }
}
@media only screen and (max-width: 600px) {
  *.pspa-scrollbar-type2::-webkit-scrollbar {
    width: 3px;
  }
}

*.pspa-scrollbar-type2::-webkit-scrollbar-thumb {
  width: 10px;
  height: 10px;
  background-color: #e1e1e1;
}

*.pspa-scrollbar-type3::-webkit-scrollbar-track {
  border-radius: 0px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #e1e1e1;
}

*.pspa-scrollbar-type3::-webkit-scrollbar {
  border-radius: 0px;
  background-color: #e1e1e1;
  width: 10px;
}
@media only screen and (max-width: 900px) {
  *.pspa-scrollbar-type3::-webkit-scrollbar {
    width: 5px;
  }
}
@media only screen and (max-width: 600px) {
  *.pspa-scrollbar-type3::-webkit-scrollbar {
    width: 3px;
  }
}

*.pspa-scrollbar-type3::-webkit-scrollbar-thumb {
  width: 10px;
  height: 10px;
  background-color: #05593F;
}

.pspa-text-nowrap {
  word-wrap: normal;
}

.pspa-text-wrap {
  word-wrap: break-word;
}

.pspa-text-left {
  text-align: left;
}

.pspa-text-right {
  text-align: right;
}

.pspa-text-center {
  text-align: center;
}

.pspa-text-justify {
  text-align: justify;
}

.pspa-text-truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pspa-text-break {
  overflow-wrap: break-word;
  word-break: break-all;
}

.pspa-text-lower {
  text-transform: lowercase;
}

.pspa-text-upper {
  text-transform: uppercase;
}

.pspa-text-uc-first {
  text-transform: capitalize;
}

.pspa-text-size-1 {
  font-size: 10px;
}

.pspa-text-size-2 {
  font-size: 13px;
}

.pspa-text-size-3 {
  font-size: 16px;
}

.pspa-text-size-4 {
  font-size: 19px;
}

.pspa-text-size-5 {
  font-size: 22px;
}

.pspa-text-size-6 {
  font-size: 25px;
}

.pspa-text-size-7 {
  font-size: 28px;
}

.pspa-text-size-8 {
  font-size: 31px;
}

.pspa-text-size-9 {
  font-size: 34px;
}

.pspa-text-size-10 {
  font-size: 37px;
}

.pspa-text-bold {
  font-weight: bold;
}

.pspa-text-bolder {
  font-weight: bolder;
}

.pspa-text-lighter {
  font-weight: lighter;
}

.pspa-text-italic {
  font-style: italic;
}

.pspa-text-normal {
  font-weight: normal;
}

.pspa-text-decorated-none {
  text-decoration: none;
}

.pspa-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pspa-ellipsis-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  mask-image: linear-gradient(to bottom, black, black);
  text-overflow: ellipsis;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

.pspa-ellipsis-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  mask-image: linear-gradient(to bottom, black, black);
  text-overflow: ellipsis;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

.pspa-ellipsis-4 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  mask-image: linear-gradient(to bottom, black, black);
  text-overflow: ellipsis;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

/* Multi-line clamps (2026-10-09). -webkit-line-clamp must sit on the block that
   holds the lines. Rich text from the back office arrives as one or several <p>
   inside the clamped div: the ellipsis was drawn at line N but the remaining
   lines, and every later paragraph, still showed below it and overlapped the next
   element (news cards). So the first block child carries the clamp too, and the
   paragraphs after it are not shown. Plain-text uses (no child element) are
   unchanged. */
.pspa-ellipsis-2 > *,
.pspa-ellipsis-3 > *,
.pspa-ellipsis-4 > * {
  margin: 0;
}
.pspa-ellipsis-2 > *:first-child:not(:only-child) ~ *,
.pspa-ellipsis-3 > *:first-child:not(:only-child) ~ *,
.pspa-ellipsis-4 > *:first-child:not(:only-child) ~ * {
  display: none;
}
.pspa-ellipsis-2 > p,
.pspa-ellipsis-3 > p,
.pspa-ellipsis-4 > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pspa-ellipsis-2 > p { -webkit-line-clamp: 2; }
.pspa-ellipsis-3 > p { -webkit-line-clamp: 3; }
.pspa-ellipsis-4 > p { -webkit-line-clamp: 4; }

.pspa-ellipsis-5 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  mask-image: linear-gradient(to bottom, black, black);
  text-overflow: ellipsis;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

.pspa-ellipsis-10 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
  mask-image: linear-gradient(to bottom, black, black);
  text-overflow: ellipsis;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

*.pspa-text1-heavy,
*.pspa-text1-heavy * {
  font-family: FuturaHeavy !important;
  font-size: 32px !important;
  font-style: normal;
  font-weight: 900 !important;
  text-transform: none !important;
}
@media only screen and (max-width: 1550px) {
  *.pspa-text1-heavy,
  *.pspa-text1-heavy * {
    font-size: 27.2px !important;
  }
}
@media only screen and (max-width: 750px) {
  *.pspa-text1-heavy,
  *.pspa-text1-heavy * {
    font-size: 22.4px !important;
  }
}
@media only screen and (max-width: 550px) {
  *.pspa-text1-heavy,
  *.pspa-text1-heavy * {
    font-size: 16px !important;
  }
}
@media only screen and (max-width: 350px) {
  *.pspa-text1-heavy,
  *.pspa-text1-heavy * {
    font-size: 12.8px !important;
  }
}

*.pspa-text2-heavy,
*.pspa-text2-heavy * {
  font-family: FuturaHeavy !important;
  font-size: 15px !important;
  font-style: normal;
  font-weight: 900 !important;
  text-transform: none !important;
}
@media only screen and (max-width: 1550px) {
  *.pspa-text2-heavy,
  *.pspa-text2-heavy * {
    font-size: 15px !important;
  }
}
@media only screen and (max-width: 750px) {
  *.pspa-text2-heavy,
  *.pspa-text2-heavy * {
    font-size: 15px !important;
  }
}
@media only screen and (max-width: 550px) {
  *.pspa-text2-heavy,
  *.pspa-text2-heavy * {
    font-size: 15px !important;
  }
}
@media only screen and (max-width: 350px) {
  *.pspa-text2-heavy,
  *.pspa-text2-heavy * {
    font-size: 12px !important;
  }
}

*.pspa-text3-heavy,
*.pspa-text3-heavy * {
  font-family: FuturaHeavy !important;
  font-size: 20px !important;
  font-style: normal;
  font-weight: 900 !important;
  text-transform: none !important;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media only screen and (max-width: 1550px) {
  *.pspa-text3-heavy,
  *.pspa-text3-heavy * {
    font-size: 20px !important;
  }
}
@media only screen and (max-width: 750px) {
  *.pspa-text3-heavy,
  *.pspa-text3-heavy * {
    font-size: 20px !important;
  }
}
@media only screen and (max-width: 550px) {
  *.pspa-text3-heavy,
  *.pspa-text3-heavy * {
    font-size: 20px !important;
  }
}
@media only screen and (max-width: 350px) {
  *.pspa-text3-heavy,
  *.pspa-text3-heavy * {
    font-size: 16px !important;
  }
}

*.pspa-text1-medium,
*.pspa-text1-medium * {
  font-family: FuturaMedium !important;
  font-size: 20px !important;
  font-style: normal;
  font-weight: 500 !important;
  text-transform: none !important;
}
@media only screen and (max-width: 1550px) {
  *.pspa-text1-medium,
  *.pspa-text1-medium * {
    font-size: 17px !important;
  }
}
@media only screen and (max-width: 750px) {
  *.pspa-text1-medium,
  *.pspa-text1-medium * {
    font-size: 14px !important;
  }
}
@media only screen and (max-width: 550px) {
  *.pspa-text1-medium,
  *.pspa-text1-medium * {
    font-size: 10px !important;
  }
}
@media only screen and (max-width: 350px) {
  *.pspa-text1-medium,
  *.pspa-text1-medium * {
    font-size: 8px !important;
  }
}

*.pspa-text2-medium,
*.pspa-text2-medium * {
  font-family: FuturaMedium !important;
  font-size: 18px !important;
  font-style: normal;
  font-weight: 500 !important;
  text-transform: none !important;
}
@media only screen and (max-width: 1550px) {
  *.pspa-text2-medium,
  *.pspa-text2-medium * {
    font-size: 15.3px !important;
  }
}
@media only screen and (max-width: 750px) {
  *.pspa-text2-medium,
  *.pspa-text2-medium * {
    font-size: 12.6px !important;
  }
}
@media only screen and (max-width: 550px) {
  *.pspa-text2-medium,
  *.pspa-text2-medium * {
    font-size: 15px !important;
  }
}
@media only screen and (max-width: 350px) {
  *.pspa-text2-medium,
  *.pspa-text2-medium * {
    font-size: 14.4px !important;
  }
}

*.pspa-text3-medium,
*.pspa-text3-medium * {
  font-family: FuturaMedium !important;
  font-size: 15px !important;
  font-style: normal;
  font-weight: 500 !important;
  text-transform: none !important;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media only screen and (max-width: 1550px) {
  *.pspa-text3-medium,
  *.pspa-text3-medium * {
    font-size: 15px !important;
  }
}
@media only screen and (max-width: 750px) {
  *.pspa-text3-medium,
  *.pspa-text3-medium * {
    font-size: 15px !important;
  }
}
@media only screen and (max-width: 550px) {
  *.pspa-text3-medium,
  *.pspa-text3-medium * {
    font-size: 12px !important;
  }
}
@media only screen and (max-width: 350px) {
  *.pspa-text3-medium,
  *.pspa-text3-medium * {
    font-size: 9px !important;
  }
}

*.pspa-text4-medium,
*.pspa-text4-medium * {
  font-family: FuturaMedium !important;
  font-size: 15px !important;
  font-style: normal;
  font-weight: 500 !important;
}
@media only screen and (max-width: 1550px) {
  *.pspa-text4-medium,
  *.pspa-text4-medium * {
    font-size: 12.75px !important;
  }
}
@media only screen and (max-width: 750px) {
  *.pspa-text4-medium,
  *.pspa-text4-medium * {
    font-size: 10.5px !important;
  }
}
@media only screen and (max-width: 550px) {
  *.pspa-text4-medium,
  *.pspa-text4-medium * {
    font-size: 7.5px !important;
  }
}
@media only screen and (max-width: 350px) {
  *.pspa-text4-medium,
  *.pspa-text4-medium * {
    font-size: 6px !important;
  }
}

*.pspa-text5-medium,
*.pspa-text5-medium * {
  font-family: FuturaMedium !important;
  font-size: 16px !important;
  font-style: normal;
  font-weight: 500 !important;
}
@media only screen and (max-width: 1550px) {
  *.pspa-text5-medium,
  *.pspa-text5-medium * {
    font-size: 13.6px !important;
  }
}
@media only screen and (max-width: 750px) {
  *.pspa-text5-medium,
  *.pspa-text5-medium * {
    font-size: 11.2px !important;
  }
}
@media only screen and (max-width: 550px) {
  *.pspa-text5-medium,
  *.pspa-text5-medium * {
    font-size: 8px !important;
  }
}
@media only screen and (max-width: 350px) {
  *.pspa-text5-medium,
  *.pspa-text5-medium * {
    font-size: 6.4px !important;
  }
}

.pspa-header-logo-container {
  position: absolute;
  top: -20px;
}
@media only screen and (max-width: 1550px) {
  .pspa-header-logo-container {
    top: -25.5px;
  }
}
@media only screen and (max-width: 750px) {
  .pspa-header-logo-container {
    top: -14px;
  }
}
@media only screen and (max-width: 550px) {
  .pspa-header-logo-container {
    top: -10px;
  }
}
@media only screen and (max-width: 350px) {
  .pspa-header-logo-container {
    top: -8px;
  }
}

.pspa-header-logo-container, .pspa-header-logo-container2 {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: white;
  padding: 10px;
}
@media only screen and (max-width: 1550px) {
  .pspa-header-logo-container, .pspa-header-logo-container2 {
    border-radius: 8.5px;
    padding: 8.5px;
  }
}
@media only screen and (max-width: 750px) {
  .pspa-header-logo-container, .pspa-header-logo-container2 {
    border-radius: 5px;
    padding: 5px;
  }
}
@media only screen and (max-width: 550px) {
  .pspa-header-logo-container, .pspa-header-logo-container2 {
    border-radius: 5px;
    padding: 5px;
  }
}
@media only screen and (max-width: 350px) {
  .pspa-header-logo-container, .pspa-header-logo-container2 {
    border-radius: 4px;
    padding: 4px;
  }
}
.pspa-header-logo-container .pspa-header-logo, .pspa-header-logo-container2 .pspa-header-logo {
  width: 70px;
}
@media only screen and (max-width: 1550px) {
  .pspa-header-logo-container .pspa-header-logo, .pspa-header-logo-container2 .pspa-header-logo {
    width: 59.5px;
  }
}
@media only screen and (max-width: 750px) {
  .pspa-header-logo-container .pspa-header-logo, .pspa-header-logo-container2 .pspa-header-logo {
    width: 35px;
  }
}
@media only screen and (max-width: 550px) {
  .pspa-header-logo-container .pspa-header-logo, .pspa-header-logo-container2 .pspa-header-logo {
    width: 35px;
  }
}
@media only screen and (max-width: 350px) {
  .pspa-header-logo-container .pspa-header-logo, .pspa-header-logo-container2 .pspa-header-logo {
    width: 28px;
  }
}

*.pspa-select1 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 1px solid #ccc;
  padding: 5px;
  font-size: 16px;
  position: relative;
  z-index: 1;
}
*.pspa-select1::after {
  content: "▼";
  /* Caractère Unicode pour une flèche vers le bas */
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #333;
  font-size: 12px;
  border-width: 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}

.custom-select {
  appearance: none; /* Remove default arrow */
  -webkit-appearance: none; /* Remove default arrow for Safari */
  -moz-appearance: none; /* Remove default arrow for Firefox */
}

.slow-container {
  transition: all 0.1s ease;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
* {
  line-height: 1.5em !important;
}
* * {
  line-height: 1.5em !important;
}
@media only screen and (max-width: 900px) {
  * * {
    line-height: 1.3em !important;
  }
}
@media only screen and (max-width: 900px) {
  * {
    line-height: 1.3em !important;
  }
}

/* Clamped text on a phone (2026-10-09). The clamp is masked to its box, and a box of
   N lines at 1.3em still cut the tails of g, p, q, y and the accents (MINFOPRA note:
   "la partie inférieure des mots est coupée"). A little more leading for these. */
@media only screen and (max-width: 900px) {
  .pspa-ellipsis-2,
  .pspa-ellipsis-3,
  .pspa-ellipsis-4,
  .pspa-ellipsis-2 *,
  .pspa-ellipsis-3 *,
  .pspa-ellipsis-4 * {
    line-height: 1.5em !important;
  }
}

/*# sourceMappingURL=pspa.css.map */
