@charset "UTF-8";
/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
/*
0 - 600px:      Phone
600 - 900px:    Tablet portrait
900 - 1200px:   Tablet landscape
[1200 - 1800] is where our normal styles apply
1800px + :      Big desktop

$breakpoint arguement choices:
- phone
- tab-port
- tab-land
- big-desktop

ORDER: Base + typography > general layout + grid > page layout > components
1rem = 10px
1em = 16px
*/
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  line-height: 1.2;
}

.heading-primary {
  font-size: 3.6rem;
  /*
  font-size:2.5em;//36:16 
  */
}

.heading-secondary {
  font-size: 2.4rem;
  /*
  font-size:1.5em;//24:16 
  */
}

.heading-tertio {
  font-size: 2.1rem;
  /*
  font-size:1.3125em;//21:16 
  */
}

:is(h1, h2, h3) {
  margin-block-end: 1.6rem;
}

h1 {
  font-size: 3.6rem;
}

h2 {
  font-size: 3rem;
}

h3 {
  font-size: 2.5rem;
}

h4 {
  font-size: 2rem;
}

h5 {
  font-size: 1.8rem;
}

h6 {
  font-size: 1.4rem;
}

.default-paragraph {
  font-size: 1.6rem;
}

@font-face {
  /*
  X (circle): &#59;&#82;
  X (line): &#219;&#8197;
  F (circle) :&#83;
  F (line) :&#220;
  Localisation (circle) :&#71;
  Localisation (line) :&#251;
  SMS (circle) :&#121;
  SMS (line) :&#200;
  Youtube/video (circle) :&#91;
  Youtube/video (circle) :&#228;
  Instagram (circle) :&#95;
  Instagram (line) :&#232;
  Phone (circle) :&#123;
  Phone (line) :&#202;
  Whatsapp (circle) :&#90;
  Whatsapp (line) :&#227;
  Web (circle) :&#89;
  Web (line) :&#226;
  */
  font-family: "social_media_circledregular";
  src: url("../../public/fonts/social_media_circled-webfont.woff2") format("woff2"), url("../../public/fonts/social_media_circled-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "autographyregular";
  src: url("../../public/fonts/autography-webfont.woff2") format("woff2"), url("../../public/fonts/autography-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "aeroregular";
  src: url("../../public/fonts/aero-webfont.woff") format("woff2"), url("../../public/fonts/aero-webfont.woff2") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "spantaranregular";
  src: url("../../public/fonts/spantaran_demo-webfont.woff2") format("woff2"), url("../../public/fonts/spantaran_demo-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.text-link {
  font-size: 1.6rem;
  font-weight: bold;
  color: rgb(156, 183, 76);
}

.box-title {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  scroll-margin-block-end: 1rem;
  margin-bottom: 1rem;
}
.box-title .snd-level-title, .box-title .snd-level-title a {
  display: inline-block;
  font-family: "aeroregular";
  letter-spacing: 0.1rem;
  font-size: clamp(3rem, 5%, 3.5rem);
  color: rgb(39, 60, 117);
}

.responsive-title {
  /*width: 100%;
  max-width: $projet-row;
  margin: 0 auto;
  scroll-margin-block-end: 1rem;
  margin-bottom: 1rem;*/
}
.responsive-title .snd-level-title {
  display: inline-block;
  font-family: "aeroregular";
  letter-spacing: 0.1rem;
  font-size: 2.3rem;
  color: rgb(39, 60, 117);
}

.round-img {
  --size-image: 150px;
  --max-size: 30vw;
  border: 1px solid rgb(39, 60, 117);
  border-radius: 50%;
  width: min(var(--size-image), 50%, var(--max-size));
  height: auto;
  padding: 1rem;
  background: rgba(220, 226, 244, 0.3);
  aspect-ratio: 1;
}

.title-width-img-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.title-width-img-row {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.block-margin-md {
  margin-block-start: min(10rem, 20vh);
}

.top-spacing-small {
  margin-top: 2rem;
}

.top-spacing-meduim {
  margin-top: 4rem;
}

.top-spacing-large {
  margin-top: 6rem;
}

.u-mb-2 {
  margin-bottom: 2rem;
}

.u-mb-3 {
  margin-bottom: 3rem;
}

.u-mb-4 {
  margin-bottom: 4rem;
}

.u-mb-5 {
  margin-bottom: 5rem;
}

.u-mb-6 {
  margin-bottom: 6rem;
}

.u-mt-2 {
  margin-top: 2rem;
}

.u-mt-3 {
  margin-top: 3rem;
}

.u-mt-4 {
  margin-top: 4rem;
}

.u-mt-5 {
  margin-top: 5rem;
}

.u-mt-6 {
  margin-top: 6rem;
}

.u-mtb-1 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.u-mtb-1 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.u-mtb-3 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.u-mtb-4 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.u-mtb-5 {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.u-mtb-6 {
  margin-top: 6rem;
  margin-bottom: 6rem;
}

.u-ptb-1 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.u-ptb-1 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.u-ptb-3 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.u-ptb-4 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.u-ptb-5 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.u-ptb-6 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

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

.r-align {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}

.resp-img {
  width: 100%;
  height: auto;
}

.has-error {
  width: 100%;
  display: block;
  border: 1px solid red;
}

.error-doesnt-exist {
  font-size: 2rem;
  color: rgb(29, 32, 32);
}

.errors-register li {
  font-size: 2rem;
  color: rgb(252, 5, 5);
}

.uo-transfer {
  margin-block-start: 1.5rem;
  list-style-position: inside;
}
.uo-transfer li {
  font-size: 1.5rem;
  padding-block-end: 1rem;
  padding-left: 2.5rem;
  background: url(../../public/images/assets/puce_transfairB.png) left top no-repeat;
}

.list-definition {
  color: rgb(213, 210, 210);
}
.list-definition dt {
  font-size: 1.8rem;
  font-weight: bold;
  border-bottom: 1px dotted rgb(214, 227, 174);
  margin-block-end: 0.7rem;
  display: inline-block;
}
.list-definition dt:not(:first-child) {
  margin-block-start: 1rem;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
*,
*::after,
*::before {
  padding: 0;
  margin: 0;
  box-sizing: inherit;
}

:root {
  --layout-gap-sm:clamp(1rem, 3vmax, 1.5rem);
  --layout-gap-md:clamp(1.5rem, 6vmax, 3rem);
  --layout-gap-lg:clamp(1.75rem, 8vmax, 4.5rem);
  --block-flow-sm: min(2rem, 4vh);
  --block-flow-md: min(4rem, 8vh);
  --block-flow-lg: min(8rem, 16vh);
}

.layout-gap {
  gap: var(--layout-gap, var(--layout-gap-md));
}

.layout-gap-sm {
  --layout-gap: var(--layout-gap-sm);
}

.layout-gap-lg {
  --layout-gap: var(--layout-gap-lg);
}

.block-flow > * + * {
  margin-block-start: var(--block-flow, var(--block-flow-md));
}

.block-flow-sm {
  --block-flow: var(--block-flow-sm);
}

.block-flow-lg {
  --block-flow: var(--block-flow-lg);
}

html {
  font-size: 62.5%;
}
@media only screen and (max-width: 75em) {
  html {
    font-size: 56.25%;
  }
}
@media only screen and (max-width: 56.25em) {
  html {
    font-size: 50%;
  }
}
@media only screen and (min-width: 112.5em) {
  html {
    font-size: 75%;
  }
}

body {
  box-sizing: border-box;
}

ul {
  list-style: none;
  list-style-type: none;
}

p {
  font-size: 1.6rem;
}

a {
  text-decoration: none !important;
  color: rgb(33, 38, 19);
  /* ordre de déclaration des états 
  :visited, quand le lien est visité
  :active, quand le lien est cliqué
  :focus, quand le lien a la focus
  :link, lien normal non visité
  */
}

img {
  display: block;
  max-width: 100%;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.body-grid {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr auto;
  grid-template-areas: "entete" "corps" "pieds";
}

.entete {
  background: url("../../public/images/decolage-avion.jpg") center no-repeat;
  grid-area: entete;
  z-index: 1;
  background-color: rgba(39, 60, 117, 0.1);
  height: 10rem;
  border-bottom: 3px solid rgb(156, 183, 76);
}
@media only screen and (max-width: 37.5em) {
  .entete {
    background: url("../../public/images/decolage-avion_medium.jpg") center no-repeat;
  }
}

.corps {
  grid-area: corps;
  grid-row: 1/3;
}

.pieds {
  grid-area: pieds;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.projet-row {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  /*
      comportement des bloc
      avec prefixe de class "col-"
  */
}
.projet-row:not(:last-child) {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 75em) {
  .projet-row {
    padding: 0 2rem;
  }
}
.projet-row::after {
  content: "";
  clear: both;
  display: table;
}
.projet-row [class^=col-] {
  float: left !important;
}
.projet-row [class^=col-]:not(:last-child) {
  margin-right: 6rem;
}
@media only screen and (max-width: 37.5em) {
  .projet-row [class^=col-] {
    width: 100% !important;
    margin-bottom: 8rem;
  }
}
.projet-row .col-1-of-2 {
  width: calc((100% - 6rem) / 2);
}
.projet-row .col-1-of-3 {
  width: calc((100% - 2 * 6rem) / 3);
}
.projet-row .col-2-of-3 {
  width: calc(2 * (100% - 2 * 6rem) / 3 + 6rem);
}
.projet-row .col-1-of-4 {
  width: calc((100% - 3 * 6rem) / 4);
}
.projet-row .col-2-of-4 {
  width: calc(2 * (100% - 3 * 6rem) / 4 + 6rem);
}
.projet-row .col-3-of-4 {
  width: calc(3 * (100% - 3 * 6rem) / 4 + 2 * 6rem);
}

.wrapper-row {
  padding: 4vw;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.header {
  z-index: 2;
}
.header .logo-box {
  position: relative;
  top: 1rem;
  left: 4rem;
  display: inline-block;
}
.header .logo {
  width: 6.5rem;
  height: auto;
}

.slogon-marketing {
  font-family: "autographyregular" !important;
  font-weight: 100;
  font-size: 3.6rem;
  text-align: center;
  margin-inline-start: 4.8rem;
  color: aliceblue;
}
@media only screen and (max-width: 37.5em) {
  .slogon-marketing {
    font-size: 2rem;
  }
}

.admin-barMenu {
  z-index: 10000;
  position: fixed;
  width: 30px;
  right: 0.5rem;
  bottom: 10rem;
}

.iconBtn {
  margin: 0.5rem;
  cursor: pointer;
  width: 35px;
  height: 35px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  padding: 4px;
  top: 12px;
}

.editmenu {
  padding-left: 0;
  list-style: none;
  position: absolute;
  width: 5rem;
  right: 0;
  bottom: 5rem;
  align-items: center;
  background: rgba(0, 0, 0, 0.8);
  transition: all 0.3s ease-in-out;
  transform: translateX(0);
}

.editmenu li {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  border-bottom: 1px inset #212529;
  padding: 0.5rem;
}

.editmenu li a {
  display: inline-block;
}

.editmenu li span {
  color: white;
  font-size: 1.6rem;
  display: none;
}

.editmenu li a:hover {
  color: rgb(156, 183, 76);
}

.editmenu.is-active {
  transform: translateX(0);
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.footer {
  padding: 4vw;
  background: #192648;
  color: rgb(213, 210, 210);
}
.footer .mediafonts {
  font-family: "social_media_circledregular";
  font-size: medium;
}
.footer .footer__list {
  --min-width:22%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-inline: 4vw;
  gap: var(--layout-gap, var(--layout-gap-md));
  margin-bottom: 4vw;
}
.footer .footer__list > * {
  flex: 1 1 var(--min-width);
}
@media (max-width: 600px) {
  .footer .footer__list > * {
    --min-width: 45%;
  }
}
.footer .footer__list .footer-contacts {
  font-size: clamp(1.6rem, 1rem + 4cqi, 1.8rem);
}
.footer .footer__list .footer-contacts > * {
  display: flex;
  flex-flow: row nowrap;
  gap: 1.3rem;
  padding-bottom: 0.8rem;
}
.footer .footer__list .footer-contacts .social-font {
  flex: 0 1 auto;
  font-weight: 700;
  font-family: "social_media_circledregular";
}
.footer__title {
  margin-block-end: 0.7rem;
  border-bottom: 1px dotted rgb(214, 227, 174);
  display: inline-block;
}
.footer__logo {
  max-width: 100% !important;
}
.footer__link {
  font-size: clamp(1rem, 1rem + 4cqi, 1.6rem);
  text-decoration: none;
  color: rgb(213, 210, 210);
}
.footer__link:hover {
  color: rgb(156, 183, 76);
}
.footer__owner {
  font-size: 1.35rem;
}
.footer__partner img {
  max-height: 5rem;
}
.footer__social-media {
  display: flex;
  justify-content: center;
  gap: 1.6rem;
}
.footer__social-media img {
  width: 100%;
  max-width: 40px;
  filter: grayscale(1);
  transform: scale(0.9);
  transition: all 0.3s ease-in-out;
}
.footer__social-media img:hover {
  filter: brightness(1);
  transform: scale(1);
}
.footer .social-font {
  font-weight: bold;
  font-family: "social_media_circledregular";
}
.footer__icon-embraer {
  display: flex;
  justify-self: center;
}
.footer .copyright {
  margin-block-start: 1rem;
  padding: 1rem;
  border-top: 1px solid #46567d;
  text-align: center;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.btn {
  --color-btn:base.$color-primary;
  display: inline-block;
  border: 1px solid var(--color-btn) !important;
  padding: 0.85rem 2rem;
  border-radius: 4px;
  text-decoration: none;
  font-size: 1.6rem;
}
.btn:visited, .btn:link {
  color: var(--color-btn);
}

.btn--primary {
  background-color: rgb(156, 183, 76);
  color: rgb(243, 240, 240) !important;
  transition: background 0.5s linear;
}
.btn--primary:hover {
  background-color: rgb(99, 124, 26);
}

.btn--del {
  --color-btn: red;
  background-color: rgb(213, 210, 210);
  border: 1px solid transparent;
  transition: background 0.5s linear;
  color: rgb(34, 33, 33) !important;
}
.btn--del:hover {
  background-color: rgb(244, 133, 133);
  border: 1px solid transparent;
  color: white !important;
}

.btn--cancel {
  background-color: rgb(213, 210, 210);
  transition: background 0.5s linear;
  padding: unset;
  padding-inline: 2rem;
  padding-block: 0.55em;
}
.btn--cancel:hover {
  background-color: grey;
  color: white;
}

.btn--standard {
  background-color: rgb(213, 210, 210);
}

.bn--default {
  background: grey !important;
}

.btn--outline {
  --color-btn-outline:#fff;
  border: 1px solid var(--color-btn-outline);
  border-radius: 5px;
  padding: 8px 12px;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--color-btn-outline);
  position: relative;
  display: inline-block;
  margin-block: 2.5rem;
  transition: all 0.35s;
}

.moveright-content {
  background: transparent;
  text-indent: 0.5rem;
  transition: all 0.25s;
  min-width: 180px;
  height: 38px;
}
.moveright-content::before {
  content: "⟶";
  width: 30px;
  height: 100%;
  position: absolute;
  display: grid;
  justify-content: center;
  align-items: center;
  left: 0;
  top: 0;
  background: rgb(156, 183, 76);
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  font-size: 1.6rem;
  color: rgb(156, 183, 76);
  font-weight: bold;
  text-indent: 5px;
  transform-origin: left center;
  transform: translate(-20%, 0) scale(0, 1);
  transition: all 0.25s;
  z-index: 1;
}
.moveright-content:hover {
  --color-btn-outline:white;
  text-indent: 2.5rem;
}
.moveright-content:hover::before {
  background: white;
  color: #9cb74c;
  transform: translate(0, 0) scale(1, 1);
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.projet-form__group {
  margin-block: 1.2rem;
}
.projet-form label {
  display: block;
  font-size: 1.6rem;
}
.projet-form__input, .projet-form__textarea {
  display: inline-block;
  width: 100%;
  padding: 1rem;
  /*margin-bottom: 1rem !important;*/
  border-radius: 0.4rem;
  border: 1px solid grey;
}
.projet-form__select {
  display: inline-block;
  padding: 1rem 1.5rem;
  width: 100%;
  max-width: 22.8rem;
}
.projet-form input[type=submit] {
  display: inline-block;
  padding: 1rem 2rem;
  font-size: 1.6rem;
  background-color: rgb(156, 183, 76);
  color: white;
  border: none;
  border-radius: 0.4rem;
  width: unset;
  cursor: pointer;
  transition: background 0.5s linear;
}
.projet-form input[type=submit]:hover {
  background: rgb(99, 124, 26);
}
.projet-form input[type=file i] {
  width: 100%;
  font-size: 1.6rem;
  padding: 0.5rem;
  border-radius: 3px;
}
.projet-form .wrapper-file {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(60ch, 1fr));
  gap: 1.5rem;
}
.projet-form .wrapper-file > div {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  border: 1px solid rgb(198, 210, 242);
  border-radius: 3px;
  padding: 0.8rem;
}
.projet-form .wrapper-file img {
  max-width: 110px;
  border-radius: 3px;
}
.projet-form .section-group {
  display: flex;
  gap: 1.6rem;
}
.projet-form button {
  padding: 1rem 2rem;
  font-size: 1.6rem;
  background-color: rgb(156, 183, 76);
  color: white;
  border: none;
  border-radius: 0.4rem;
  width: unset;
  cursor: pointer;
  transition: background 0.5s linear;
}
.projet-form button:hover {
  background: rgb(99, 124, 26);
}

.flight-form-box {
  --padding: 4vw;
  padding: var(--padding);
  text-align: center;
}
.flight-form-box .flight-form {
  background: rgb(220, 226, 244);
  --width: 170ch;
  max-width: var(--width);
  margin: 0 auto;
  padding: 1.6rem;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
@media (min-width: 70rem) {
  .flight-form-box .flight-form {
    flex-flow: row nowrap;
  }
}
.flight-form-box .form-group {
  display: flex;
  flex-direction: column;
}
@media (min-width: 70rem) {
  .flight-form-box .form-group > label {
    align-self: flex-start;
    font-size: 1em;
  }
}
.flight-form-box button {
  flex: 0 0 auto;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
  /* Rounded active */
  /* Rounded sliders */
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border: 0;
}
.switch .slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.4s;
}
.switch input:checked + .slider {
  background-color: #2196F3;
}
.switch .active {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(198, 210, 242);
  transition: 0.4s;
  border: 0;
}
.switch .active:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: rgb(39, 60, 117);
  transition: 0.4s;
}
.switch .active:before {
  transform: translateX(26px);
}
.switch input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}
.switch input:checked + .slider:before {
  transform: translateX(26px);
}
.switch .active.round {
  border-radius: 34px;
}
.switch .active.round:before {
  border-radius: 50%;
}
.switch .slider.round {
  border-radius: 34px;
}
.switch .slider.round:before {
  border-radius: 50%;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.navigation {
  position: absolute;
}
.navigation .navigation__checkbox {
  display: none;
  visibility: hidden;
}
.navigation__button {
  position: fixed;
  top: 1.15rem;
  right: 4rem;
  width: 5rem;
  height: 5rem;
  border-radius: 50% !important;
  background-color: rgb(156, 183, 76);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
  /*offset-x | offset-y | blur-radius | spread-radius | color*/
  cursor: pointer;
  z-index: 2000;
  /*
  text-align: center;*/
}
.navigation__background {
  height: 4.8rem;
  width: 4.8rem;
  border-radius: 50%;
  position: fixed;
  top: 1.1rem;
  right: 4.1rem;
  background-image: radial-gradient(rgb(39, 60, 117), rgb(25, 38, 72));
  z-index: 1000;
  transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
}
.navigation__nav {
  height: 100vh;
  position: fixed;
  top: 0;
  left: -30rem;
  z-index: 1500;
  opacity: 0;
  width: 0;
  transition: all 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.navigation__list {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  list-style: none;
  text-align: center;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
.navigation__item {
  margin: 1rem;
}
.navigation__link {
  position: relative;
}
.navigation__link--border, .navigation__link:link, .navigation__link:visited {
  display: inline-block;
  font-size: clamp(2rem, 5%, 10vw);
  font-weight: 300;
  padding: 1rem 2rem;
  color: rgb(243, 240, 240);
  text-decoration: none;
  text-transform: uppercase;
  background-image: linear-gradient(120deg, transparent 0%, transparent 50%, rgb(220, 226, 244) 50%);
  background-size: 220%;
  transition: all 0.4s;
}
.navigation__link--border span, .navigation__link:link span, .navigation__link:visited span {
  margin-right: 1.5rem;
  display: inline-block;
}
.navigation__link:hover, .navigation__link:active {
  background-position: 100%;
  color: rgb(39, 60, 117);
  transform: translateX(1rem);
}
.navigation__link--border {
  background: rgb(39, 60, 117);
  border-radius: 2.5rem;
  transition: all 0.3s;
}
.navigation__link--border::after, .navigation__link--border::before {
  content: "";
  width: 105%;
  height: 120%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: conic-gradient(rgb(156, 183, 76), rgb(214, 227, 174), rgb(214, 227, 174), rgb(156, 183, 76));
  border-radius: 2.5rem;
  z-index: -1;
}
.navigation__link--border::before {
  filter: blur(1.3rem);
  opacity: 0.7;
}
.navigation__checkbox:checked ~ .navigation__background {
  transform: scale(80);
}
.navigation__checkbox:checked ~ .navigation__nav {
  left: 0rem;
  opacity: 1;
  width: 100%;
}
.navigation__icon {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.navigation__icon, .navigation__icon::after, .navigation__icon::before {
  display: inline-block;
  width: 2.8rem;
  height: 2px;
  background-color: rgb(243, 240, 240);
}
.navigation__icon::before, .navigation__icon::after {
  content: "";
  position: absolute;
  transition: all 0.2s;
  left: 0;
}
.navigation__icon::before {
  top: -0.7rem;
}
.navigation__icon::after {
  top: 0.7rem;
}
.navigation__button:hover .navigation__icon::before, .navigation__button:hover .navigation__icon::after {
  /*top: -.85rem;*/
  width: 2rem;
}
.navigation__checkbox:checked + .navigation__button .navigation__icon {
  background: transparent;
}
.navigation__checkbox:checked + .navigation__button .navigation__icon::before {
  top: 0;
  width: 2.8rem;
  height: 3px;
  transform: rotate(135deg);
}
.navigation__checkbox:checked + .navigation__button .navigation__icon::after {
  top: 0;
  width: 2.8rem;
  height: 3px;
  transform: rotate(-135deg);
}

.nav-categ {
  display: inline-block;
  background: rgb(220, 226, 244);
  display: inline-block;
  padding: 1rem 2rem;
  border-radius: 3px;
}

.quick-acces-vertical {
  position: fixed;
  right: 1rem;
  top: 20rem;
}
.quick-acces-vertical ul {
  width: 2.5rem;
  display: flex;
  justify-content: center;
  transform: rotate(-90deg);
}
.quick-acces-vertical ul li {
  margin: 0 0.3rem;
}
.quick-acces-vertical a {
  display: block;
  font-size: 1.3rem;
  color: aliceblue;
  padding: 0.4rem 0.8rem;
  font-weight: 300;
  /* style boxe*/
  background: rgba(39, 60, 117, 0.5);
  border-radius: 50px;
  /* effet */
  border: 2px solid rgba(156, 183, 76, 0.4);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  /*animation*/
  transition: all 0.3s ease-in-out;
}
.quick-acces-vertical a:hover {
  background: rgb(39, 60, 117);
  transform: scale(1.1) translateX(2px);
  color: whitesmoke;
  /*border: 2px solid $color-primary;*/
}
@media only screen and (max-width: 37.5em) {
  .quick-acces-vertical {
    right: 2rem;
  }
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.carousel {
  position: relative;
  width: 90%;
  height: auto;
  margin: 0 auto;
  padding: 1rem;
}
.carousel__track-container {
  height: 42em;
  position: relative;
  overflow: hidden;
  /* @include responsive(phone){

   }*/
}
@media (max-width: 450px) {
  .carousel__track-container {
    overflow: auto;
    scroll-snap-type: y mandatory;
  }
}
.carousel__track {
  padding: 0;
  margin: 0;
  position: relative;
  height: 100%;
  transition: transform 250ms ease-in;
}
@media (max-width: 450px) {
  .carousel__track {
    scroll-snap-align: start;
  }
}
.carousel__slide {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  border-radius: 0.3rem;
}
.carousel__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.3rem;
  position: inherit;
}
.carousel__details {
  position: relative;
}
.carousel__button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  cursor: pointer;
  z-index: 10;
}
.carousel__button img {
  width: 2rem;
  opacity: 0.5;
}
.carousel__button--left {
  left: -15px;
}
.carousel__button--right {
  right: -15px;
}
.carousel__nav {
  display: flex;
  justify-content: center;
  padding: 10px 0;
}
.carousel__indicator {
  border: 0;
  border-radius: 50%;
  width: 15px;
  height: 15px;
  background: rgba(18, 18, 18, 0.3);
  margin: 0 1.5rem;
  cursor: pointer;
}
.carousel__indicator.current-slide {
  background-color: rgb(99, 124, 26);
}

.is-hidden {
  display: none;
}

.carousel-mf {
  position: relative;
  width: 100vw;
  height: 48vh; /*43.5rem;*/
  position: relative;
  overflow: hidden;
}
.carousel-mf__track {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  touch-action: none;
}
.carousel-mf__card {
  width: 60rem;
  border-radius: 5px;
  background: rgb(198, 210, 242);
  margin-inline-end: 2rem;
  /* &:hover > figure::before{
       opacity: 0;
       visibility: hidden;
   } 

   &:hover > figure figcaption{
       opacity: 0;
   }*/
}
.carousel-mf__card figure {
  position: relative;
  overflow: hidden;
}
.carousel-mf__card figcaption {
  padding: 1rem 1.5rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  width: 80%;
}
.carousel-mf__card figcaption h3 {
  font-size: clamp(3rem, 5%, 3.5rem);
}
.carousel-mf__card figcaption span {
  font-size: 1.6rem;
  color: grey;
}
.carousel-mf__card-link {
  position: relative;
}
.carousel-mf__card-link::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: rgb(198, 210, 242);
  transform: translateX(0);
  opacity: 1;
  transition: all 0.3s ease-in;
}
.carousel-mf__card:hover > figure .carousel-mf__card-link::before {
  opacity: 0.3;
  transform: translateX(-97%);
}
.carousel-mf__card:hover > figure figcaption {
  opacity: 0.003;
}

.details > summary {
  padding: 2px 6px;
  cursor: pointer;
  font-size: large;
}
.details > p {
  font-size: 1.6rem !important;
  padding: 1rem;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.horizontal-scroll-snap {
  display: grid;
  grid-auto-flow: column;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.horizontal-scroll-snap > * {
  width: min(120ch, 85vw);
  scroll-snap-align: center;
  scroll-snap-stop: always;
}
.horizontal-scroll-snap img {
  width: 100%;
}
.horizontal-scroll-snap::-webkit-scrollbar {
  display: none;
}

.scroller {
  max-width: 94rem;
  margin: 0 auto;
}
.scroller[data-animated=true] {
  overflow: hidden;
  -webkit-mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
  mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
}
.scroller[data-animated=true] .scroller__inner {
  width: -moz-max-content;
  width: max-content;
  flex-wrap: nowrap;
  animation: scroll var(--_animation-duration, 40s) var(--_animation-derection, forwards) linear infinite;
}
.scroller[data-direction=right] {
  --_animation-derection: reverse;
}
.scroller[data-direction=left] {
  --_animation-derection: forwards;
}
.scroller__inner {
  padding-block: 1rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.scroller .tag-list {
  padding-inline: 0;
}
.scroller .tag-list li {
  min-width: 9rem;
  padding: 1rem;
  background: rgb(39, 60, 117);
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem -0.25rem rgb(198, 210, 242);
  transition: background linear 0.3s;
}
.scroller .tag-list li a {
  color: white;
  font-size: 1.5rem;
  transition: all 0.3s;
}
.scroller .tag-list li:hover {
  background: rgb(198, 210, 242);
}
.scroller .tag-list li:hover a {
  color: rgb(39, 60, 117);
}

@keyframes scroll {
  to {
    transform: translate(calc(-40% - 0.5rem));
  }
}
/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.row-search {
  display: flex;
  flex-flow: row wrap;
  gap: 2.5rem;
}
.row-search .row-item {
  flex: 1 0 28rem;
}
.row-search .row-item .details {
  margin-block: 1rem;
  font-size: 1.2rem;
  color: rgb(198, 210, 242);
}
.row-search .row-item .option {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 1rem;
}
.row-search .row-item .option > * {
  flex: 0 0 auto;
}

.livesearch-pagination {
  display: flex;
  gap: 1rem;
  margin-block: 2rem;
}
.livesearch-pagination .page-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  min-width: 2.5rem;
  height: 2.5rem;
  background-color: rgb(198, 210, 242);
  color: white;
  border-radius: 3px;
}
.livesearch-pagination .page-item .page-link {
  color: white;
  text-decoration: none;
}
.livesearch-pagination .page-item.active {
  background-color: rgb(39, 60, 117);
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.author-list {
  display: grid;
  place-content: center;
  /*background: hsl(200, 15%, 73%);//#B0BEC5;*/
  margin-block: 4rem;
}

.avatar-list {
  width: 100%;
  list-style: none;
  border-radius: 0.5rem;
  /*box-shadow: 0.25rem 0.25rem 0.5rem -0.15rem hsl(0 0% 0% / 30%);
  border: 1px solid hsl(200, 16%, 62%);*/
}
.avatar-list img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.avatar-list li {
  position: relative;
  padding: 1%;
  font-size: 1.35rem;
  font-size: clamp(0.8rem, 0.8rem + 2cqi, 1.5rem);
  color: hsla(0, 0%, 0%, 0.45);
  letter-spacing: 0.03rem;
}
.avatar-list li:nth-child(odd) {
  background-color: hsl(204, 15%, 94%);
}
.avatar-list li + li::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(5% + 1rem);
  right: 3%;
  border-top: 1px solid hsla(0, 0%, 0%, 0.2);
}
.avatar-list figure {
  display: grid;
  grid-template-columns: 15% 1fr;
  align-items: center;
  gap: 1rem;
}

.bio-avatar {
  padding: 4rem 1.5rem;
  background: rgb(214, 227, 174);
}
.bio-avatar :where(* + *) {
  margin-block-start: 1rem;
}
.bio-avatar img {
  max-width: 100%;
}
.bio-avatar .bio {
  border-radius: 0.5rem;
  background: rgb(198, 210, 242);
  box-shadow: 0 0 10px -2px hsla(0, 0%, 0%, 0.85);
  padding: 3%;
  display: grid;
  gap: 1rem;
}
.bio-avatar .bio :is(h3, p) {
  margin-block-start: 0;
}
.bio-avatar .bio:has(.photo) {
  grid-template-columns: min(25vw, 85px) 1fr;
  grid-template-areas: "photo name" "photo bio";
}
.bio-avatar .bio:has(.photo) :not(.photo) {
  grid-column: bio;
}
.bio-avatar .bio .photo {
  grid-area: photo;
}
.bio-avatar .bio .photo {
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

/*.avatar-list {
    li {
        padding: clamp(.5rem, 3%, 2rem);
    }

    figure {
        display: flex;
        flex-flow: row nowrap;
        justify-items: center;
        align-items: center;
        gap: clamp(.5rem, 3%, 2rem);

        img {
            max-width: min(4rem, 14%);
        }
    }

    img {
        aspect-ratio: 1;
        object-fit: cover;
        width: 100%;
        height: 100%;
        border-radius: 50%; 
    }
}*/
.social-media .row-item {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
  margin-block-end: 1rem;
}
.social-media .option {
  display: flex;
  gap: 1rem;
}

.edit {
  padding: 4rem 1rem;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.table {
  border-collapse: collapse;
  width: 100% !important;
  font-family: Arial, sans-serif; /* Police de la table */
  /* 
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); Ombre de la table */
}
.table th, .table td {
  border: 1px solid #ddd; /* Bordure des cellules */
  padding: 8px; /* Espace intérieur */
  text-align: center; /* Alignement du texte */
}
.table thead, .table th {
  background-color: rgb(156, 183, 76); /* Couleur de fond pour les en-têtes */
  text-transform: uppercase; /* Mettre en majuscule les en-têtes */
  font-size: 1rem;
  text-align: center;
}
.table tbody tr:nth-child(even) {
  background-color: rgb(220, 226, 244);
}
.table td {
  width: auto; /* Largeur des cellules */
  height: auto; /* Hauteur des cellules */
}
.table tr:hover {
  background-color: rgb(219, 227, 195); /* Couleur au survol de la ligne */
  color: rgb(39, 60, 117);
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.grille-wrap {
  --padding: 5vw;
  --max-width: 280ch;
  padding: var(--padding);
  max-width: var(--max-width);
}
.grille-wrap .grille {
  --min:50ch;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--min)), 1fr));
  gap: var(--layout-gap-md);
}
.grille-wrap .card {
  padding: clamp(0.5rem, 5%, 3rem);
  border-radius: 1rem;
  border: 1px solid rgb(220, 226, 244);
  transition: all 0.3s ease;
}
.grille-wrap .card:hover {
  background-color: rgb(198, 210, 242);
}
.grille-wrap .article {
  display: flex;
  flex-direction: column;
}
.grille-wrap .article__content {
  --min-height: 5rem;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: var(--min-height);
  font-size: 1.2rem;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.cta {
  display: grid;
  grid-template-areas: "hero";
  height: 65vh;
  max-height: 600px;
  align-items: center;
}
.cta > * {
  grid-area: hero;
}
.cta__content {
  margin-left: 5%;
  max-width: 35%;
  min-width: 30ch;
  padding: 2rem;
  margin: 1rem 0 1rem 5%;
  z-index: 1;
  background-color: rgba(156, 183, 76, 0.8);
  border-radius: 0.5rem 0.5rem 0.5rem 0;
}
@media only screen and (max-width: 37.5em) {
  .cta__content {
    max-width: 40%;
    min-width: 60ch;
  }
}
.cta__title {
  color: inherit;
}
.cta__accroche {
  color: inherit;
  font-size: 1.8rem;
  margin-block-end: 1.6rem;
}
.cta__illust {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 5vw -5vmin;
     object-position: 5vw -5vmin;
  height: min(65vh, 600px);
  width: 60%;
  justify-self: end;
  width: 80%;
  transition: 180ms width ease-in;
}
@media (min-width: 60.5rem) {
  .cta__illust {
    width: 60%;
  }
}
@media only screen and (max-width: 37.5em) {
  .cta__illust {
    -o-object-position: left;
       object-position: left;
    width: 100%;
  }
}

.text-over-image {
  display: grid;
  grid-template-areas: "hero";
  max-height: 600px;
  place-items: center;
  background-color: rgba(39, 60, 117, 0.7);
  overflow: hidden;
}
@media (min-width: 900px) {
  .text-over-image {
    height: 80vh;
  }
}
.text-over-image::before {
  content: "";
  grid-area: hero;
  width: 50vmin;
  height: 50vmin;
  border-radius: 50%;
  transform: translate(-10%, -10%);
  background-image: url();
}
.text-over-image::after {
  content: "";
  grid-area: hero;
  width: 30vmin;
  height: 60vmin;
  transform: translate(20%, 40%) rotate(45deg);
  background-image: url();
}
.text-over-image > * {
  grid-area: hero;
}
.text-over-image__content {
  max-width: min(70vw, 90rem);
  z-index: 1;
}
.text-over-image__illust {
  -o-object-fit: cover;
  object-fit: cover;
  height: min(80vh, 700px);
  width: 100%;
  z-index: -1;
  -o-object-position: top;
     object-position: top;
}
@media only screen and (max-width: 37.5em) {
  .text-over-image__illust {
    -o-object-position: top left;
       object-position: top left;
  }
}
.text-over-image .title {
  color: white;
}
.text-over-image .accroche {
  color: white !important;
  font-size: 1.8rem;
  margin-block-end: 1.6rem;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.teaser {
  background-image: linear-gradient(to right bottom, rgba(25, 38, 72, 0.8), rgba(198, 210, 242, 0.8)), url(../../public/images/bg-home.jpg);
  background-size: cover;
  background-position: center;
  position: relative;
  padding-block-end: 2rem;
}
.teaser__wrapper {
  /*min-height: 85vh;*/
  display: flex;
  flex-direction: column;
  align-items: center;
  /*clip-path: polygon(0% 0%, 50% 20%, 100% 0%, 100% 100%, 70% 80%, 0% 100%);*/
}
.teaser__text {
  /* @include centerLeftandTop(28%, 50%);*/
  position: relative;
  margin-block-start: 2vh;
  text-align: center;
  width: 100%;
  padding: 0 1rem;
}
.teaser__text .heading-primary {
  color: rgb(243, 240, 240) !important;
  line-height: 1.2;
}
.teaser__text .heading-primary--main {
  font-size: 4rem;
  display: block;
  text-transform: uppercase;
  font-family: "aeroregular" !important;
}
@media only screen and (max-width: 37.5em) {
  .teaser__text .heading-primary--main {
    font-size: 2.5rem;
  }
}
.teaser__text .heading-primary--sub {
  display: block;
  font-family: "autographyregular" !important;
  font-weight: 100;
}
@media only screen and (max-width: 37.5em) {
  .teaser__text .heading-primary--sub {
    font-size: 2rem;
  }
}

.promo-section {
  padding: 4rem 0;
}
.promo-section__img {
  display: block;
  width: 100%;
  height: auto;
}

.promo-produits {
  padding: 2rem 0 5rem;
}

.carousel-section {
  padding: 2rem 0;
}

.container-slider {
  padding: 2rem;
  width: 100%;
  background-color: rgba(214, 227, 174, 0.3);
}
.container-slider h2 {
  font-size: 4vh;
}
.container-slider .box {
  height: 220px;
  box-shadow: 2px 10px 12px rgba(18, 18, 18, 0.5);
  border-radius: 3px;
  background: rgb(99, 124, 26);
  margin: 2rem 1.5rem;
  transition: all ease 0.3s;
  position: relative;
}
.container-slider .box::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  border: 1px solid rgb(243, 240, 240);
  transition: all 0.4s;
  border-radius: 3px;
  opacity: 0;
}
.container-slider .box__picture {
  max-height: 100%;
  width: 100%;
  border-radius: 3px;
  position: relative;
}
.container-slider .box__details {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 1;
  background-color: black;
}
.container-slider .box:hover {
  transform-style: preserve-3d;
  transform: scale(1.05);
}
.container-slider .box:hover::after {
  transform: scale(0.8);
  opacity: 1;
}
.container-slider .box:hover + .container-slider .box__details {
  display: none;
}

.infos-utiles {
  padding: 4rem 1rem;
  background-image: linear-gradient(to right bottom, #9cb74c, #637c1a);
}
.infos-utiles .snd-level-title a {
  color: white;
}

.ws {
  margin-block-end: 2.5rem;
  position: relative;
  width: 100vw;
}
.ws__wrapper {
  width: 100%;
  position: relative;
  bottom: 3rem;
}
.ws__arrow {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  background: rgba(156, 183, 76, 0.3);
  top: 45%;
  height: 35px;
  width: 35px;
  border-radius: 50%;
  font-size: 1.6rem;
  cursor: pointer;
}
.ws__arrow:hover {
  background: rgba(99, 124, 26, 0.8);
}
.ws__arrow--left {
  left: 1.5rem;
}
.ws__arrow--right {
  right: 2rem;
}
.ws__sliders {
  display: flex;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  overflow-x: auto;
}
.ws__sliders::-webkit-scrollbar {
  display: none;
}
.ws__slide {
  margin: 1rem;
  min-width: calc(100% - 20px);
  /*background: rgba(165, 42, 42, 0.444);*/
  border-radius: 5px;
  scroll-snap-align: center;
}
.ws__features {
  --max-width: 180ch;
  max-width: var(--max-width);
  margin: 0 auto;
}
.ws__features li {
  padding: clamp(0.5rem, 3%, 2rem);
  color: white;
  text-align: center;
}
.ws__features .figure {
  display: flex;
  flex-flow: row nowrap;
  justify-items: center;
  align-items: center;
  gap: clamp(0.5rem, 5%, 2rem);
}
.ws__features .figure h3 {
  font-size: 3.5rem;
  line-height: 1.2;
  color: white;
}
@media only screen and (max-width: 37.5em) {
  .ws__features .figure {
    flex-direction: column;
    text-align: center;
  }
}
.ws__features .item {
  width: 100%;
  max-width: 42em;
  height: auto;
  border-radius: 0.5rem;
  flex: 0 0 auto;
}
.ws__bullets {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.ws__bullets .bullet {
  width: 10px;
  height: 10px;
  background-color: rgb(156, 183, 76);
  border-radius: 50%;
}
.ws__bullets .bullet.active {
  background-color: rgb(99, 124, 26);
}

.destinations {
  --max-w: 100ch;
  padding-block: 4rem;
  padding-inline: 4vw;
  background: rgb(220, 226, 244);
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.destinations > * {
  flex: 0 1 var(--max-w);
}
.destinations .texte p {
  font-size: 2rem;
}

.offres {
  width: 100vw;
  padding: 4rem 2rem;
  background-image: none; /*linear-gradient(180deg, 
rgba(whitesmoke, 1),
rgba(base.$color-secondary, 1),
rgba(base.$color-secondary-dark, 1));
overflow: hidden;*/
}
.offres__speciale {
  margin-block-end: 4rem;
}
.offres__promo .card {
  --img-ratio: 2/1;
  display: grid;
  align-items: center;
  margin: 0 auto;
  gap: 1rem;
  background: rgb(39, 60, 117);
  margin-block-end: 4rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.35);
  border-radius: 0.5rem;
  transition: all 0.3s;
}
.offres__promo .card > img {
  height: max(20vh, 12rem);
  object-fit: cover;
  -o-object-fit: cover;
  width: 100%;
  border-radius: 0.5rem;
  transition: all 0.3s;
}
.offres__promo .card:hover > img {
  filter: blur(4px);
}
.offres__promo .card__content {
  padding: 1.5rem;
  color: white;
}
.offres__promo .card__content a {
  color: white;
}
.offres__promo .card:hover {
  background: rgb(25, 38, 72);
}
@supports (aspect-ratio: 1) {
  .offres__promo .card > img {
    /*aspect-ratio: var(--img-ratio);*/
    height: auto;
  }
}
@media (min-width: 600px) {
  .offres__promo .card--large {
    grid-template-columns: 1fr 1fr;
    width: min(220ch, 100vw - 12rem);
    margin-block-end: 6rem;
    gap: 2.5rem;
  }
}

.flotte {
  padding: 4vw;
}

.toknow__content {
  display: flex;
  justify-content: center;
}
.toknow__faq {
  background-image: linear-gradient(to right bottom, rgba(25, 38, 72, 0.8), rgba(198, 210, 242, 0.8)), url(../../public/images/boarding.png);
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  padding: 4rem 4rem;
}
.toknow__faq .snd-level-title {
  color: aliceblue !important;
}
.toknow__faq .faq {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
}
.toknow__faq .faq p {
  color: white;
  padding-inline-start: 1.5rem;
}
.toknow__faq details {
  background: rgba(39, 60, 117, 0.3);
  border: 1px solid rgb(198, 210, 242);
  padding: 1rem;
  border-radius: 5px;
  margin-block-end: 1.7rem;
  max-width: 80rem;
}
.toknow__faq:hover ~ details {
  background: #273c75 !important;
}
.toknow__faq details > summary {
  color: rgb(214, 227, 174);
  font-size: 2rem;
  font-weight: 500;
  margin-block-end: 0.5rem;
  width: 100%;
  transition: all 0.3s;
  cursor: pointer;
}

.injoy {
  padding-inline: 4vw;
  padding-block: 8rem;
}
.injoy__wrapper {
  padding-inline: 2rem;
  --min:50ch;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--min)), 1fr));
  gap: 2rem;
}
.injoy__wrapper .card {
  --img-ratio:2/1;
  display: grid;
  padding: 1rem;
  gap: 1rem;
  border-radius: 0.5rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.35);
}
.injoy__wrapper .card > img {
  height: max(18vh, 12rem);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.injoy__wrapper .card__content {
  display: grid;
  gap: 0.5rem;
  gap: 1cqb;
  padding: 1.5rem;
  color: var(--color-def);
}
.injoy__wrapper .card__content:not(.title) {
  font-size: 0.9rem;
}
@supports (aspect-ratio: 1) {
  .injoy__wrapper .card > img {
    aspect-ratio: var(--img-ratio);
    height: auto;
  }
}
@media (min-width: 400px) {
  .injoy__wrapper .card--medium {
    --img-ratio:1;
    grid-auto-flow: column;
    align-items: center;
  }
}
@media (min-width: 600px) {
  .injoy__wrapper .card--large {
    --img-ratio:2/1;
    grid-template-areas: "card";
    place-items: center;
    overflow: hidden;
  }
  .injoy__wrapper .card--large > * {
    grid-area: card;
  }
  .injoy__wrapper .card--large .card__content {
    color: white;
    background: rgba(18, 18, 18, 0.5);
  }
  .injoy__wrapper .card--large .card__content .title > a {
    color: white;
  }
}

.about .card {
  --img-ratio:2/1;
  display: grid;
  padding: 1rem;
  gap: 1rem;
  border-radius: 0.5rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.35);
}
.about .card > img {
  height: max(18vh, 12rem);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.about .card__content {
  display: grid;
  gap: 0.5rem;
  gap: 1cqb;
  padding: 1.5rem;
  color: var(--color-def);
}
.about .card__content:not(.title) {
  font-size: 0.9rem;
}
@supports (aspect-ratio: 1) {
  .about .card > img {
    aspect-ratio: var(--img-ratio);
    height: auto;
  }
}
.about .card-list {
  align-items: start;
}
.about .card-list li {
  container-type: inline-size;
}
@container (min-width:350px) {
  .about .card {
    --img-ratio:1;
    grid-auto-flow: column;
    align-items: center;
  }
}
@container (min-width:600px) {
  .about .card {
    --img-ratio:2/1;
    grid-template-areas: "card";
    place-items: center;
    overflow: hidden;
  }
  .about .card > * {
    grid-area: card;
  }
  .about .card__content {
    color: white;
  }
  .about .card__content .title > a {
    color: white;
  }
}
.about__content {
  --color:white;
  width: 100%;
  max-width: 56rem;
  padding-inline: 4vw;
}
.about__content p {
  font-size: 1.6rem;
}
.about__content:has(h2, a, p) {
  color: var(--color);
}

.programme-vol {
  background-color: rgb(39, 60, 117);
  padding-block: 4rem;
  /* --- Wrapper pour les "box" des jours --- */
  /* C'est cet élément qui va bouger horizontalement */
  /* --- Style d'une "box" de jour --- */
  /* --- Conteneur de la Navigation --- */
  /* --- Boutons fléchés (Précédent/Suivant) --- */
  /* --- Conteneur pour les points de navigation --- */
  /* --- Style d'un point de navigation --- */
  /* Style pour le point actif (jour sélectionné) */
}
.programme-vol .snd-level-title {
  color: white !important;
}
.programme-vol .week-slider {
  width: 90%;
  max-width: 600px;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  overflow: hidden; /* Masque les jours qui ne sont pas visibles */
  background-color: rgb(198, 210, 242);
  margin: 0 auto;
}
.programme-vol .slider-wrapper {
  display: flex;
  /* Animation de transition fluide */
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.programme-vol .day-box {
  /* Chaque box prend 100% de la largeur du conteneur */
  flex: 0 0 100%;
  width: 100%;
  min-height: 5vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.95rem;
  font-weight: bold;
}
.programme-vol table caption {
  padding: 4vw;
}
.programme-vol .vol-details {
  font-size: clamp(1.2rem, 5%, 2.5rem);
}
.programme-vol .vols-journaliers {
  display: block;
  font-size: clamp(2rem, 10%, 3.5rem);
  text-transform: uppercase;
  color: rgb(39, 60, 117);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
  margin-bottom: 1rem;
}
.programme-vol .focus-day, .programme-vol .date {
  font-size: clamp(1.6rem, 5%, 2.5rem);
  font-weight: 100;
}
.programme-vol .flysday {
  background: aliceblue;
}
.programme-vol .slider-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 25px;
  background-color: #2c3e50;
}
.programme-vol .nav-arrow {
  background: none;
  border: none;
  color: white;
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
  padding: 0 15px;
  transition: color 0.3s ease, transform 0.2s ease;
}
.programme-vol .nav-arrow:hover {
  color: #3498db;
  transform: scale(1.1);
}
.programme-vol .nav-arrow:active {
  transform: scale(0.95);
}
.programme-vol .nav-dots {
  display: flex;
  gap: 12px;
}
.programme-vol .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #7f8c8d;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.programme-vol .dot:hover {
  background-color: #95a5a6;
  transform: scale(1.1);
}
.programme-vol .dot.active {
  background-color: rgb(156, 183, 76);
  transform: scale(1.2);
}

.produits-services {
  --gap: 10px;
  --btn-bg: #007bff;
  --btn-disabled-bg: #aaa;
  --btn-color: #fff;
  --btn-padding: 8px 15px;
  --btn-radius: 4px;
  --transition-duration: 0.5s;
  --transition-easing: ease;
  margin: 0 auto;
  padding-inline: 4vw;
  padding-block: 8rem;
}

.smart-carousel-container {
  max-width: 120rem;
  margin: auto;
  position: relative;
  overflow: hidden;
}

.smart-carousel-wrapperr {
  overflow: hidden;
}

.smart-carousel {
  display: flex;
  gap: var(--gap);
  transition: transform var(--transition-duration) var(--transition-easing);
  will-change: transform;
}

.smart-article {
  box-sizing: border-box;
  border: 1px solid #ccc;
  padding: 10px;
  background: #f9f9f9;
  flex-shrink: 0;
  flex-basis: 100%; /* par défaut 1 article pour mobile */
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

@media (min-width: 1024px) {
  .smart-article {
    flex-basis: calc((100% - 2 * var(--gap)) / 3); /* 3 articles côte à côte */
  }
}
.nav__buttons {
  margin-top: 10px;
  text-align: center;
}
.nav__button {
  background-color: var(--btn-bg);
  border: none;
  color: var(--btn-color);
  padding: var(--btn-padding);
  font-size: 16px;
  margin: 0 5px;
  cursor: pointer;
  border-radius: var(--btn-radius);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.nav__button:disabled {
  background-color: var(--btn-disabled-bg);
  cursor: default;
}

.pagination {
  margin-top: 10px;
  text-align: center;
}

.pagination span {
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #ccc;
  border-radius: 50%;
  margin: 0 6px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.pagination span.active {
  background: var(--btn-bg);
}

.image-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.image-container .image-container img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.image-container .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(156, 183, 76, 0.7);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;
}
.image-container .overlay-text {
  color: aliceblue;
  text-align: center;
  transform: translateY(20px);
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.image-container .overlay-text__link {
  color: unset;
  color: white !important;
}

.image-container:active .overlay,
.image-container:hover .overlay {
  opacity: 1;
}

.image-container:active .overlay-text,
.image-container:hover .overlay-text {
  opacity: 1;
  transform: translateY(0);
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.showpost {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: auto auto auto auto;
  grid-template-areas: "showpost__img showpost__img showpost__img showpost__img showpost__img" "showpost__title showpost__title showpost__title showpost__title showpost__title" "showpost__content showpost__content showpost__content showpost__content showpost__content" "showpost__related showpost__related showpost__related showpost__related showpost__related";
  gap: 1rem;
}
.showpost__title {
  grid-area: showpost__title;
  padding-inline: 1.5rem;
}
.showpost__img {
  grid-area: showpost__img;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  background-color: rgb(39, 60, 117);
}
.showpost__content {
  grid-area: showpost__content;
  padding-inline: 4.5rem;
}
.showpost__content .faq .details {
  font-size: 1.6rem;
  padding-block-end: 0.5rem;
}
.showpost__related {
  grid-area: showpost__related;
  padding-inline: 4.5rem;
}
.showpost__related {
  padding-inline: 4.5rem;
}
.showpost__related .grille {
  --min:50ch;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--min)), 1fr));
  gap: var(--layout-gap-md);
}
.showpost__related .grille .article {
  display: grid;
  grid-auto-rows: min-content;
}
.showpost__related .grille .article__content {
  grid-row: minmax(20rem, auto);
}

@media screen and (min-width: 601px) {
  .showpost {
    display: grid;
    grid-template-columns: 1fr 1fr 25vw 1fr 25vw 1fr 1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas: "showpost__img showpost__img showpost__img showpost__img showpost__img . ." ". showpost__title showpost__title showpost__title showpost__title showpost__title ." ". showpost__content showpost__content showpost__content showpost__content showpost__content ." ". showpost__related showpost__related showpost__related showpost__related showpost__related .";
  }
  .showpost__img {
    width: 80rem;
  }
  .descript {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
    -moz-column-rule: 1px solid #e4dfd9;
    column-rule: 1px solid #e4dfd9;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
.see-also {
  display: inline-block;
  padding: 0.5rem 1.6rem;
  font-size: 1.5rem;
  background: rgb(156, 183, 76);
  color: rgb(25, 38, 72);
  border-radius: 15px;
}

.form-fret {
  max-width: 80rem;
  margin: 0 auto;
}

.wrapper-form {
  display: flex;
  flex-flow: row wrap;
  gap: 0 2rem;
}
.wrapper-form > * {
  flex: 1 1 100%;
}
@media (min-width: 600px) {
  .wrapper-form > * {
    flex-basis: 40%;
  }
}

.details {
  font-size: clamp(1.6rem, 5vw, 2rem);
  max-width: 80rem;
  margin: 0 auto;
  padding-bottom: 2rem;
}

.categories {
  padding: 4rem 1rem;
}

.login {
  display: grid;
  justify-content: center;
  align-items: center;
  min-height: 50vh;
}

/*
font-family: 'aeroregular';
font-family: 'spantaranregular';
*/
/*@use './abstracts/mixins';
@use './abstracts/animations';
@use './abstracts/functions';*/
.page-header {
  position: relative;
}
.page-header__img {
  height: max(75vh, 30rem);
  /*height: min(40em, 70vh);*/
  object-fit: cover;
  -o-object-fit: cover;
  width: 100%;
  position: relative;
  filter: brightness(0.5);
}
@media only screen and (max-width: 37.5em) {
  .page-header__img {
    height: unset;
  }
}
.page-header__content {
  width: 80vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 800) {
  .page-header__content {
    max-width: 60rem;
  }
}
.page-header__content .icone {
  --max-size: 15vw !important;
}
.page-header__content .accroche, .page-header__content .accroche p {
  color: white;
  font-size: clamp(1.6rem, 5vw, 2rem);
}
.page-header__title {
  font-family: "aeroregular";
  letter-spacing: 0.1rem;
  font-size: clamp(2.5rem, 10vw, 3.6rem);
  color: white;
  text-shadow: 1px 1px 0.5rem rgba(0, 0, 0, 0.735);
}
.page-header p {
  color: white !important;
  font-size: 2rem;
  line-height: 1.3;
}

.categ-list {
  --padding: 5vw;
  --max-width: 240ch;
  padding: var(--padding);
  max-width: var(--max-width);
  margin: 0 auto;
}
.categ-list [role=list] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(40ch, 1fr));
  gap: var(--layout-gap-md);
}
.categ-list .categ {
  display: grid;
  justify-items: center;
  gap: 1rem;
}
.categ-list .categ__content {
  text-align: center;
}
.categ-list .card {
  padding: clamp(0.5rem, 5%, 3rem);
  border-radius: 1rem;
  border: 1px solid lavender;
  background: rgb(198, 210, 242);
}

.nav-list {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-block: 2rem;
}
.nav-list__item--parent {
  color: grey !important;
  border-right: 1px solid rgb(39, 60, 117);
  padding-inline-end: 1rem;
  border-bottom-right-radius: 15px;
  border-top-right-radius: 15px;
  padding: 0.5rem 1rem;
}
.nav-list__item--child {
  padding: 0.5rem 1rem;
  background-color: rgb(156, 183, 76);
  border-radius: 15px;
}

.nav-list-pr {
  justify-content: end;
}

.options--btn {
  display: flex;
  gap: 0.2rem;
  margin-block-start: 2rem;
  justify-content: flex-end;
}
.options--btn .btn {
  padding: 0.3rem 0.5rem !important;
  font-size: 1rem !important;
}
.options--btn label {
  display: block;
  font-size: 1.6rem;
}
.options--btn input {
  padding: 0.3rem;
  border-radius: 0.2rem;
}
.options--btn input[type=submit] {
  padding: 0.5rem 1rem;
  font-size: 1rem;
}
.options--btn input[type=submit]:hover {
  background: rgb(99, 124, 26);
}
.options--btn input[type=file i] {
  width: 100%;
  font-size: 1rem;
  padding: 0.5rem;
  border-radius: 3px;
}
.options--btn .wrapper-file {
  gap: 1.5rem;
}
.options--btn .wrapper-file > div {
  border: 1px solid rgb(198, 210, 242);
  border-radius: 3px;
  padding: 0.5rem;
}
.options--btn .section-group {
  display: flex;
  gap: 1.6rem;
}
.options--btn button {
  padding: 0.5rem 1rem !important;
  font-size: 1rem;
}

.article .extract {
  font-family: 1.6rem;
}

.flotte {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(60ch, 1fr));
  gap: var(--layout-gap-md);
}

.conta {
  width: 100%;
  padding-top: 10vh;
}
.conta .title {
  text-align: center;
}
.conta address {
  --width:170ch;
  --padding:4vw;
  max-width: var(--width);
  padding: var(--padding);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
  justify-content: center;
  justify-items: center;
}
.conta__item {
  display: grid;
  justify-items: center;
  text-align: center;
}
.conta .reference {
  font-size: clamp(1.6rem, 5%, 6.4rem);
}/*# sourceMappingURL=main.css.map */