:root {
  --couleur-boutton: #B85F49;
  --couleur-fond-principal: #222222;
  --couleur-texte-principal: #F0F0E0;
  --couleur-blanc: #FFFFFF;
  --couleur-noir: #000000;

  --border-radius-bouton: 0.7em;
  --maw-width-container: 134em;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--couleur-fond-principal);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex: 1;
    background-color: var(--couleur-fond-principal);
}

.container {
    max-width: var(--maw-width-container);
    width: 100%;
    background-color: var(--couleur-fond-principal);
    box-sizing: border-box;
    padding: 0 5em;
}

.orange {
    color: var(--couleur-boutton);
}

.contact {
    display: flex;
    flex-direction: row;
    margin-top: 15em;
}

.anim_section {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.anim_section.visible {
  opacity: 1;
  transform: translateY(0);
}

.description {
    flex-basis: 45%;
    flex-grow: 1;
    margin-right: 5em;
}

.description h1 {
    font-size: 3em;
    font-family: 'Anton', sans-serif;
    color: var(--couleur-texte-principal);
    margin-bottom: 0.7em;
}

.description p {
    font-size: 1.4em;
    color: var(--couleur-texte-principal);
    font-weight: 100;
    margin-top: 2em;
}

.formulaire {
    display: flex;
    flex-direction: column;
    flex-basis: 45%;
    background-color: var(--couleur-noir);
    box-shadow: 0px 0px 15px 15px var(--couleur-noir);
}

.formulaire div {
    display: flex;
    justify-content: center;
}

.formulaire article {
    margin: 1.7em;
}

.formulaire input,
.formulaire textarea,
.formulaire button {
    width: 100%;
}

.formulaire label {
    font-size: 1.3em;
    color: var(--couleur-boutton);
    font-family: 'Antonio', sans-serif;
}

.formulaire input,
.formulaire textarea {
    font-size: 1em;
    margin-top: 1em;
    background-color: var(--couleur-texte-principal);
    color: var(--couleur-noir);
    border-radius: var(--border-radius-bouton);
    padding: 1em;
}

textarea {
    resize: none;
}

.formulaire button {
    font-size: 1em;
    background-color: var(--couleur-boutton);
    color: var(--couleur-texte-principal);
    border-radius: var(--border-radius-bouton);
    padding: 1em;
    font-family: 'Antonio', sans-serif;
}

.success {
    color: #B85F49;
    margin-bottom: 1em;
}
.error {
    color: red;
    margin-bottom: 1em;
}

.confidentialite {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 0.9em;
}

.confidentialite input {
    width: auto;
    margin: 0 0.5em 0 1.4em;
}

@media screen and (max-width: 1440px) {

    .contact {
        margin-top: 12em;
        margin-bottom: 5em;
    }

    .container {
        padding: 0 5em;
    }

    .description h1 {
        font-size: 1.7em;
    }

    .description p {
        font-size: 1em;
        font-weight: 100;
    }

    .formulaire article {
        margin: 0.5em 1em;
    }

    .formulaire label {
        font-size: 1.1em;
    }

    .formulaire input,
    .formulaire textarea {
        margin-top: 0.5em;
        font-size: 0.8em;
        padding: 0.5em;
    }

    .formulaire button {
        padding: 0.5em;
    }
}

@media screen and (max-width: 900px) {

    .container {  
        padding: 0 2em;
    }

    .description h1 {
        font-size: 1.4em;
        font-family: 'Anton', sans-serif;
        color: var(--couleur-texte-principal);
        margin-bottom: 1.7em;
    }

    .description p{
        width: 100%;
        font-size: 1em;
        color: var(--couleur-texte-principal);
        font-weight: 100;
        margin-top: 0.6em;
    }

    .contact {
        margin-top: 4em;
        padding: 2em;
        flex-direction: column;
    }

    .description {
        width: 100%;
        padding: 5em 0;
    }

   .formulaire {
        margin-bottom: 3em;
   }
}

@media screen and (max-width: 640px) {

    .container {  
        padding: 0 1em;
    }
}

@media screen and (max-width: 400px) {

    .container {  
        padding: 0;
    }

    .description h1 {
        font-size: 1.1em;
        margin-bottom: 1.5em;
    }

    .description p{
        font-size: 0.9em;
    }
}