@charset "UTF-8";
/*
h1 titre
h2 sous-titre
h3 titre de paragraphe
h4 sous titre de paragraphe
h5 lien interne ou externe
h6 titre liste ou numérotation
-------------------------
si absence de sous titre
h1 titre
h2 titre de paragraphe
h3 sous titre de paragraphe
h4 lien interne ou externe
h5 titre liste ou numérotation

*/
@font-face {
  font-family: "Solway";
  src: url("/fonts/Solway-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Solway";
  src: url("/fonts/Solway-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Solway";
  src: url("/fonts/Solway-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Solway";
  src: url("/fonts/Solway-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Solway";
  src: url("/fonts/Solway-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
* {
  z-index: 0;
}

body,
html {
  height: 100%;
  margin: 0;
  font: 400 15px/1.8 "Lato", sans-serif;
  color: white;
}

h1 {
  display: inline-block;
  line-height: normal;
  margin-top: 0px;
  margin-bottom: 0.9em;
  font-size: 2.25em;
  font-weight: 700;
  letter-spacing: -0.04rem;
  font-family: "Solway-Regular";
  text-align: center;
}

h2 {
  display: inline-block;
  line-height: normal;
  font-weight: 600;
  margin-bottom: 1rem;
  margin-top: 2.25rem;
  margin-left: auto;
  margin-right: auto;
  font-family: "Solway-Regular";
  font-size: 2rem;
  text-align: center;
  color: black;
  padding-top: 35px;
}

h3 {
  font-family: "Solway-Regular";
  font-size: 1.25em;
  letter-spacing: 1.5px;
  text-align: center;
}

@media screen and (orientation: portrait) and (max-width: 360px) {
  h3 {
    padding-top: 10px;
    padding-left: 0px;
    padding-right: 0px;
    font-size: 1.25em;
  }
}
h4 {
  display: inline-block;
  color: white;
  padding-left: 5px;
  padding-right: 5px;
  font-size: 1.15em;
}
@media screen and (max-width: 380px) {
  h4 {
    padding-left: 5px;
    padding-right: 5px;
  }
}

h5 {
  font-size: 1.1em;
  color: #000;
}

h6 {
  font-size: 1em;
  color: #000;
}

p {
  font-size: 1em;
  padding-bottom: 10px;
  padding-left: 0px;
  padding-right: 0px;
  text-align: justify;
}
@media only screen and (max-width: 1280px) {
  p {
    padding-left: 0px;
    padding-right: 0px;
  }
}
@media only screen and (max-width: 600px) {
  p {
    padding-left: 0px;
    padding-right: 0px;
  }
}

hr {
  width: 80%;
  height: 0px;
  margin-left: 10%;
  margin-right: 10%;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

ul {
  padding-left: 25px;
  padding-right: 25px;
}
@media only screen and (max-width: 1280px) {
  ul {
    padding-left: 5px;
    padding-right: 5px;
  }
}

ol {
  padding-left: 25px;
  padding-right: 25px;
  margin-left: 5px;
}
@media only screen and (max-width: 1280px) {
  ol {
    padding-left: 5px;
    padding-right: 5px;
  }
}

a {
  text-decoration: none;
  color: white;
}

.caption {
  display: flex;
  flex-direction: row;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 1200px) {
  .caption {
    top: 45%;
  }
}
@media screen and (max-width: 900px) {
  .caption {
    top: 37.5%;
  }
}
@media screen and (max-width: 360px) {
  .caption {
    top: 25%;
  }
}

.caption span.border {
  background-color: rgba(17, 17, 17, 0.4784313725);
  color: #fff;
  padding: 18px;
  font-size: 25px;
  letter-spacing: 10px;
}
@media screen and (max-width: 360px) {
  .caption span.border {
    letter-spacing: 0;
  }
}

.nodeco .nodeco a:hover .nodeco a:focus {
  text-decoration: none !important;
  color: inherit !important;
  background: none !important;
  border: none !important;
}

.nodeco:hover {
  text-decoration: none !important;
  color: inherit !important;
  background: none !important;
  border: none !important;
}

.border {
  background-color: rgba(17, 17, 17, 0.4784313725);
  color: #fff;
  padding: 18px;
  letter-spacing: 10px;
  margin-left: 62px;
  margin-right: 62px;
}
@media screen and (orientation: landscape) and (max-width: 1050px) {
  .border {
    margin-left: 62px;
    margin-right: 62px;
    letter-spacing: 0px;
  }
}
@media screen and (orientation: portrait) and (max-width: 810px) {
  .border {
    margin-left: 32px;
    margin-right: 32px;
    letter-spacing: 0px;
  }
}
@media screen and (orientation: landscape) and (max-width: 750px) {
  .border {
    margin-left: 12px;
    margin-right: 12px;
    letter-spacing: 0px;
  }
}
@media screen and (orientation: portrait) and (max-width: 360px) {
  .border {
    margin-left: 10px;
    margin-right: 10px;
    letter-spacing: 0px;
    margin-bottom: 2px;
    line-height: 71px;
    font-size: 30px;
  }
}

.noborder {
  display: block;
  background-color: transparent;
  padding: 0px;
  letter-spacing: 1px;
}

th,
tr,
td,
tbody,
thead {
  border: 1px solid white;
}

.texteNoir {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  align-self: flex-start;
  align-content: flex-start;
  font-family: ui-sans-serif, -apple-system, system-ui, Segoe UI, Helvetica, Apple Color Emoji, Arial, sans-serif, Segoe UI Emoji, Segoe UI Symbol;
  color: #ddd;
  background-color: #282e34;
  text-align: center;
  text-align: justify;
  width: 60vw;
  padding-left: 20vw;
  padding-right: 20vw;
  position: relative;
  z-index: -1;
}
@media screen and (orientation: portrait) and (max-width: 900px) {
  .texteNoir {
    width: 90vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

.texteNoir a {
  color: rgb(7, 176, 255);
}

.texteBlanc {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  align-self: flex-start;
  align-content: flex-start;
  font-family: ui-sans-serif, -apple-system, system-ui, Segoe UI, Helvetica, Apple Color Emoji, Arial, sans-serif, Segoe UI Emoji, Segoe UI Symbol;
  color: black;
  background-color: white;
  text-align: center;
  text-align: justify;
  width: 60vw;
  padding-left: 20vw;
  padding-right: 20vw;
}
@media screen and (orientation: portrait) and (max-width: 900px) {
  .texteBlanc {
    width: 90vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

.texteBlanc a {
  color: rgb(7, 176, 255);
}

/* Turn off parallax scrolling for tablets and phones 
  @media only screen and (max-device-width: 360px) {
      .bgimg-1, .bgimg-2, .bgimg-3, .bgimg-4, .bgimg-5, .bgimg-6, .bgimg-7, .bgimg-8, .bgimg-9 {
        background-attachment: scroll;
      }
    }
    */
.p-virtuelle {
  color: #ddd;
  background-color: #282e34;
  text-align: center;
  padding: 5vh 20vw;
  text-align: justify;
}

@media screen and (orientation: portrait) and (max-width: 360px) {
  .p-virtuelle {
    padding: 5vh 10vw;
  }
}
.scroll-to-top {
  display: none;
  position: fixed;
  bottom: 20px; /* Ajuste la distance du bas */
  right: 20px; /* Ajuste la distance du bord droit */
  z-index: 99999;
  cursor: pointer;
  width: 50px; /* Ajuste la taille de l'icône */
  height: 50px;
}

.scroll-to-top img {
  width: 100%;
  height: 100%;
}

.noborder {
  color: black;
}

h3 {
  text-align: left;
  margin-top: 10px;
  padding-top: 10px;
}

.liste {
  padding-left: 5px;
}

.parallax-section {
  position: relative;
  width: 100%;
  min-height: 100vh;
  /* Assurez une hauteur suffisante */
}

.couleurTexteblanc {
  color: white;
}

.couleurTexteNoir {
  color: black;
}

.boutondor {
  background-color: #3c3f44;
  width: 100vw;
  height: 10vh;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: space-around;
}
@media only screen and (orientation: landscape) and (max-height: 450px) {
  .boutondor {
    margin-top: -10px;
    height: 65px;
  }
}
@media only screen and (orientation: landscape) and (max-height: 360px) {
  .boutondor {
    margin-top: -10px;
    height: 65px;
  }
}

.boutondor-relatif {
  position: relative;
  top: 70vh;
  left: 80vw;
}

.centerdiv {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
@media only screen and (orientation: landscape) and (max-height: 450px) {
  .centerdiv {
    height: 65px;
  }
}
@media only screen and (orientation: landscape) and (max-height: 359px) {
  .centerdiv {
    height: 65px;
  }
}

.button {
  background-color: #ffc107;
  /* Jaune doré */
  color: #1a1e3b;
  /* Texte bleu foncé pour contraste */
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  text-align: center;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2vh;
  margin-bottom: 1vh;
}

.button:hover {
  background-color: #ffa000;
  /* Légère variation au survol */
}

.custom-list {
  margin: 0;
  padding: 0;
  padding-left: 15px;
  color: inherit;
}

.custom-list p {
  padding-left: 25px;
}

.listedl {
  position: relative;
  padding-left: 25px;
}

.listedl::before {
  content: "•"; /* La puce (tu peux remplacer par un autre caractère) */
  position: absolute;
  left: 0; /* Positionne la puce à gauche */
  color: inherit; /* Couleur de la puce */
}

.flecher {
  width: 100%;
  bottom: 0;
  position: relative;
  display: flex;
  flex-direction: row;
  align-content: center;
  align-items: center;
  align-self: center;
  margin-top: 32px;
  bottom: 2.2vh;
  position: absolute;
}

/*--------------- test -----------------------*/
.transparente-summary {
  background-color: rgba(0, 0, 0, 0.7);
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  padding-top: 2vh;
  z-index: 6;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  position: fixed !important; /* Rend l'élément fixe lors du scroll */
  height: 25vh;
  width: 25vw;
  min-width: 250px;
  right: 2vw; /* Positionné à 2% du côté droit de la fenêtre */
  top: 8vh; /* Positionné à 8% de la hauteur de la fenêtre */
  display: block;
  z-index: 9999999999999;
}

details {
  margin-bottom: 1em;
  padding-left: 10px;
}

summary {
  font-weight: bold;
  font-size: 1.2em;
  cursor: pointer;
  list-style: none;
}

/* Cache le style par défaut du mot "details" */
details summary::-webkit-details-marker {
  display: block;
}

/* Indentation pour les sous-détails */
details details {
  margin-left: 20px;
}

details[open] summary::after {
  content: " ▼";
  font-size: 0.8em;
  color: gray;
}

summary::after {
  content: " ▶";
  font-size: 0.8em;
  color: gray;
}

ul {
  margin-top: 0.5em;
  padding-left: 20px;
}

ul li {
  list-style-type: disc;
}

.sommaireGite {
  display: block; /* Visible par défaut */
}

.serrer p {
  font-size: 14px;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.serrer h2,
.serrer h3,
.serrer h4 {
  margin-top: 10px;
  font-size: 14px;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.serrer details {
  font-weight: normal;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.serrer summary {
  font-weight: normal;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.borderJaune td,
th {
  border: solid 1px #ffa000;
}

.igloo {
  font-size: 18px !important;
}

table {
  width: 60vw;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 1200px) {
  table {
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    padding: 0;
    margin: 0;
  }
}
@media screen and (max-width: 900px) {
  table {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    font-size: 12px;
    padding: 0;
    margin: 0;
  }
}
@media screen and (max-width: 600px) {
  table {
    width: 100%;
    font-size: 12px;
    padding: 0;
    margin: 0;
  }
}
@media screen and (max-width: 380px) {
  table {
    width: 100%;
    font-size: 12px;
    padding: 0;
    margin: 0;
  }
}
@media screen and (max-width: 360px) {
  table {
    width: 200px;
    font-size: 11px;
    padding: 0;
    margin: 0;
  }
}