*{
    box-sizing: border-box;
}

/* Variables ------------------------------------------------------------------------- */
:root {
    --leftGradient: rgb(40,169,224);
    --rightGradient: rgb(229,93,155);
    --buttonColor01: #000;
    --buttonColor02: #fff;
    --buttonTextColor01: #fff;
    --buttonTextColor02: #000;
}

/* Background ------------------------------------------------------------------------ */
body{
    background: linear-gradient(to right, var(--leftGradient) 0%, var(--rightGradient) 100%);
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    margin: 0;
}

/* Texts ----------------------------------------------------------------------------- */
h1, h2, p, label, input{
    font-family: soleil, sans-serif; 
    text-align: left;
    color: #fff;
}
h1{  
    font-weight: 800;
}
label, input{
    font-weight: 600;
}
h2, input.champs, p{
    font-weight: 200;
}

/* Header ---------------------------------------------------------------------------- */
header{
    border-bottom: 1px solid #fff;
    padding: 40px 0 20px 0;
    margin-bottom: 30px;
}
header img{
    width: 50%;
    display: block;
    margin: 0 auto 20px auto;
}

/* Buttons ----------------------------------------------------------------------------*/
.btn{
    max-height: 100%;
    border-radius: 40px;
    padding: 16px 45px;
    margin: 30px auto 0 auto;
    outline: none;
    font-size: 3vh;
    font-family: soleil, sans-serif;
    text-align: center;
    cursor: pointer;
    font-size: 1em;
}
.btn01{
    background-color: var(--buttonColor01);
    color: var(--buttonTextColor01);
    border: none;
    cursor: pointer;
    transition: 0.25s ease all;
}
.btn01:hover{
    background-color: var(--buttonColor01);
    filter: brightness(50%);
    color: var(--buttonTextColor01);
    transition: 0.25s ease all;
}
.btn02{
    background-color: var(--buttonColor02);
    color: var(--buttonTextColor02);
    border: none;
    cursor: pointer;
    transition: 0.25s ease all;
}
.btn02:hover{
    background-color: var(--buttonColor02);
    filter: brightness(50%);
    color: var(--buttonTextColor02);
    transition: 0.25s ease all;
}
.btn:disabled{
    opacity: 0.5;
    cursor: auto;
}
input{
    display: block;
    outline: 0;
    border: 0;
    box-sizing: border-box;
}

/* Content box ----------------------------------------------------------------------- */
div.content{
    width: 80%;
    margin: 0 auto;
    padding: 40px 20px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
}
div.content h2{
    font-size: 1.25em;
    margin: 0;
    margin-bottom: -10px;
}
div.content h1{
    margin: 0;
}

/* Footer ---------------------------------------------------------------------------- */
div.credits{
    width: 100%;
    margin: 0 auto;
    padding: 25px 0px;
    text-align: center;
    border-top: 1px solid #fff;
    margin-top: 30px;
}
div.credits img{
    display: inline;
    width: 30%;
    padding-right: 15px;
    margin: 0px;
    vertical-align: middle;
}
div.credits img+img{
    width: 35%;
    padding-right: 0px;
    padding-left: 15px;
}

@media screen and (min-width: 600px) {
    header img{
        width: 30%;
    }
    div.content img{
        width: 10%;
    }
    input.bouton{
        width: 25%;
    }
    div.credits img{
        width: 15%;
    }
    div.credits img+img{
        width: 20%;
    }
}

@media screen and (min-width: 992px) {
    header img{
        width: 20%;
    }
    div.content{
        width: 40%;
    }
    div.credits img{
        width: 8%;
    }
    div.credits img+img{
        width: 10%;
    }
}