.fonds {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.fond {
    position: absolute;
    min-height: 100%;
    min-width: 100%;
}
.parapet {
    z-index: 1;
    position: fixed;
    bottom: 40px;
    min-height: 25vh;
    width: 100%;
    pointer-events: none;
}
.fond picture, .parapet picture, .nature picture {
    position: absolute;
    height: 100%;
    width: 100%;
}
.fond img, .parapet img, .nature img {
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    object-position: top;
}
.parapet-image {
  position: absolute;
  transform: translateY(30%) scale(1);
  transform-origin: bottom center;
  height: 100%;
  width: 100%;
}
.parapet picture {
  position: relative;
}
.parapet img {
  object-position: top left;
}
.devant-parapet {
  position: absolute;
  top: 0;
  height: 100%;
  min-height: unset;
  width: 100%;
  pointer-events: none;
}
.parapet .oeufs {
    height: 8vh;
    left: 105vh;
    top: 40%;
}
.parapet .allumettes {
    height: 3.5vh;
    left: 21vh;
    top: 52%;
}
.devant-parapet picture {
    position: absolute;
}
.devant-parapet picture.monstera {
  top: -25%;
  left: 35vh;
  width: auto;
}
@keyframes fly1 {
  0% {
    left: 100vw
  }
  100% {
    left: -45vh
  }
}
@keyframes fly2 {
  0% {
    left: -45vh
  }
  100% {
    left: 100vw
  }
}
@keyframes fly3 {
  0% {
    left: 100vw
  }
  100% {
    left: -45vh
  }
}
@keyframes fly4 {
  0% {
    left: -45vh
  }
  100% {
    left: 100vw
  }
}

.devant-parapet picture.tram {
  bottom: 98%;
  left: 50%;
  height: 30%;
  width: auto;
  --temps1: 20;
  --pause1: 15;
  --temps2: 30;
  --pause2: 15;
  --temps3: 25;
  --pause3: 15;
  --temps4: 35;
  animation: fly1 calc(var(--temps1) * 1s) forwards linear, fly2 calc(var(--temps2) * 1s) calc(calc(var(--temps1) + var(--pause1)) * 1s) forwards linear, fly3 calc(var(--temps3) * 1s) calc(calc(var(--temps1) + var(--pause1) + var(--temps2) + var(--pause2)) * 1s) forwards linear, fly4 calc(var(--temps4) * 1s) calc(calc(var(--temps1) + var(--pause1) + var(--temps2) + var(--pause2) + var(--temps3) + var(--pause3)) * 1s) forwards linear;
}
.nature {
  position: absolute;
  /*bottom: 0;*/
  align-self: flex-end;
  width: 100%;
  height: 90vh;
  transform: translateY(200px);
}
.nature picture {
  /*height: auto;*/
  min-height: 100%;
  /*width: 120%;
  left: -10%;*/
  width: 100%;
}
.montagnes, .nature-bas {
  position: relative;
}
.montagnes {
  /*height: 42.723vh;*/
  height: 47.47%;
}
/*.montagnes img {
  object-position: bottom;
}*/
.nature-bas {
  /*height: 47.277vh;*/
  height: 52.53%;
}


.mer {
  height: 31.29vh;/* hauteur mer * 60 / hauteur montagnes : 769*90/2212 */
  /*transform: translateY(-50%);*/
}
.arbres {
  height: 65.26vh;/* hauteur arbres * 60 / hauteur montagnes : 1604*90/2212 */
}


/***********/
/* CONTENU */
/***********/
.contenu-page {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: center;
  min-height: 100vh;
  margin-bottom: 100px;
}
.contenu-texte, .form-wrapper {
  z-index: 1;
}
.contenu-texte {
  max-width: calc(100% - 400px - 3rem);
  margin-right: 3rem;
  text-align: center;
}
.contenu-texte p:nth-child(1) {
  margin-top: 0;
}
.form-wrapper {
  width: 50%;
  max-width: 600px;
  min-width: 400px;
}


/**************/
/* FORMULAIRE */
/**************/
  #contact {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .contenu {
    font-size: 30px;
  }
  .required {
    color: red;
  }
  input, textarea, button {
    font-size: 16px;
  }
  input::placeholder, textarea::placeholder {
    opacity: .8;
    font-size: 14px;
  }
  input, textarea {
    color: #000;
    /*background-color: #ffe782;*/
    background-color: transparent;
    border-radius: 8px;
  }
  input:focus, textarea:focus {
    background-color: #ffffff96;
  }
  .form-field {
    width: 100%;
    padding: 0 0 1rem;
  }
  .form-field.demi {
    width: 40%;
  }
  input, textarea {
    width: 100%;
    height: 40px;
    border: solid 1px #000;
    padding: .5rem;
  }
  .radio input {
    width: unset;
    height: unset;
  }
  textarea {
    height: 100px;
  }
  .form-spacer, .captcha {
    font-size: 75%;
    height: 0;
    padding: 0;
    overflow: hidden;
  }
  .form-spacer a {
    text-decoration: underline;
  }
  .captcha.show, .form-spacer.show {
    height: auto;
    padding-bottom: 1rem;
  }
  .captcha .form-data {
    display: flex;
  }
  .form-result {
    width: 100%;
  }
  .buttons {
    position: relative;
    width: 100%;
  }
  form .button {
    cursor: pointer;
    position: relative;
    z-index: 1;
    color: #000 !important;
    border: solid 1px #000 !important;
    height: 34px;
    background-color: transparent;
    padding: 0 .5rem;
  }
  form .button:hover {
    background-color: #ffffff96;;
  }
  #contact .menu-mentions {
    cursor: pointer;
    text-decoration: underline;
  }
  .politique, .captcha {
    font-size: 75%;
    height: 0;
    padding: 0;
    overflow: hidden;
  }


/* Premier terme du ratio = ratio img * hauteur montagnes. ICI : (4000/2212) * .90 = 1.627 */
@media screen and (min-aspect-ratio: 1.627/1) {
  .nature {
    height: 55.3vw;
  }
}
/* Premier terme du ratio = ratio img * hauteur parapet. ICI : (4000/593) * .25 = 1.686 */
@media screen and (min-aspect-ratio: 1.686/1) {
  .devant-parapet {
    height: 14.5vw;
  }
  .devant-parapet picture.monstera {
    left: 20.8vw;
  }
}

@media screen and (max-width : 800px) {
  section {
    padding-bottom: 0;
  }
  .contenu-texte {
    max-width: 100%;
    margin-right: 0;
    margin-top: 3rem;
  }
  .contenu-page {
    min-height: unset;
    padding-bottom: 50vh;
    margin-bottom: 0;
  }
  .form-wrapper {
    width: 100%;
    min-width: unset;
  }
  .devant-parapet picture.monstera {
    top: -5%;
  }
  .nature {
    align-self: flex-end;
    bottom: 0;
    transform: none;
  }
  .nature picture {
    width: 110%;
    left: -5%;
  }
}

@media screen and (max-width: 620px) {
    .form-field.demi {
      width: 45%;
    }  
}

