/* General configs */

* {
    box-sizing: border-box;
}

body {
    font-family: 'Artifika', 'Montserrat', sans-serif;
    font-size: 12px;
    line-height: 1em;
}

button {
    background-color: transparent;
    padding: 0;
    border: 0;
    outline: 0;
    cursor: pointer;
}

input {
    background-color: transparent;
    padding: 0;
    border: 0;
    outline: 0;
}

input[type="submit"] {
    cursor: pointer;
}

input::placeholder {
    font-size: .85rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    /* Light */
    letter-spacing: .1rem;
    color: #ccc;
    /* Gray */
}


/* Keyframes */

@keyframes bounceLeft {
    0% {
        transform: translate3d(100%, -50%, 0);
    }
    50% {
        transform: translate3d(-30px, -50%, 0);
    }
    100% {
        transform: translate3d(0, -50%, 0);
    }
}

@keyframes bounceRight {
    0% {
        transform: translate3d(0, -50%, 0);
    }
    50% {
        transform: translate3d(calc(100% + 30px), -50%, 0);
    }
    100% {
        transform: translate3d(100%, -50%, 0);
    }
}

@keyframes showSignUp {
    100% {
        opacity: 1;
        visibility: visible;
        transform: translate3d(0, 0, 0);
    }
}


/* Page background */

.user {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    background: #ccc;
    /* Gray */
    background-size: cover;
}

.user_options-container {
    position: relative;
    width: 80%;
}

.user_options-text {
    display: flex;
    justify-content: space-between;
    width: 100%;
    background-color: rgba(34, 34, 34, .85);
    /* Smoky black */
    border-radius: 3px;
    /* Border radius */
}


/* Registered and Unregistered user box and text */

.user_options-registered,
.user_options-unregistered {
    width: 50%;
    padding: 75px 45px;
    color: #fff;
    /* White */
    font-weight: 300;
    /* Light */
}

.user_registered-title,
.user_unregistered-title {
    margin-bottom: 15px;
    font-size: 1.66rem;
    line-height: 1em;
}

.user_unregistered-text,
.user_registered-text {
    font-size: .83rem;
    line-height: 1.4em;
}

.user_registered-login,
.user_unregistered-signup {
    margin-top: 30px;
    border: 1px solid #ccc;
    /* Gray */
    border-radius: 3px;
    /* Border radius */
    padding: 10px 30px;
    color: #fff;
    /* White */
    text-transform: uppercase;
    line-height: 1em;
    letter-spacing: .2rem;
    transition: background-color .2s ease-in-out, color .2s ease-in-out;
}

.user_registered-login:hover,
.user_unregistered-signup:hover {
    color: rgba(34, 34, 34, .85);
    /* Smoky black */
    background-color: #ccc;
    /* Gray */
}


/* Login and signup forms */

.user_options-forms {
    position: absolute;
    top: 50%;
    left: 30px;
    width: calc(50% - 30px);
    min-height: 420px;
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 2px 0 15px rgba(0, 0, 0, .25);
    overflow-y: auto;
    transform: translate3d(100%, -50%, 0);
    transition: transform .4s ease-in-out;
}

.user_forms-login {
    transition: opacity .4s ease-in-out, visibility .4s ease-in-out;
}

.forms_title {
    margin-bottom: 45px;
    font-size: 1.5rem;
    font-weight: 500;
    /* Medium */
    line-height: 1em;
    text-transform: uppercase;
    color: #e8716d;
    /* Salmon */
    letter-spacing: .1rem;
}

.forms_field:not(:last-of-type) {
    margin-bottom: 20px;
}

.forms_field-input {
    width: 100%;
    border-bottom: 1px solid #ccc;
    /* Gray */
    padding: 6px20px6px6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 300;
    /* Light */
    color: #999;
    /* Darken gray by approx.30% */
    letter-spacing: .1rem;
    transition: border-color .2s ease-in-out;
}

.forms_field-input:hover {
    border-color: #999;
    /* Darken gray by approx.30% */
}

.forms_buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 35px;
}

.forms_buttons-forgot {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: .1rem;
    color: #ccc;
    /* Gray */
    text-decoration: underline;
    transition: color .2s ease-in-out;
}

.forms_buttons-forgot:hover {
    color: #888;
    /* Darken gray by approx.10% */
}

.forms_buttons-action {
    background-color: #e8716d;
    /* Salmon */
    border-radius: 3px;
    /* Border radius */
    padding: 10px35px;
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    /* Light */
    color: #fff;
    /* White */
    text-transform: uppercase;
    letter-spacing: .1rem;
    transition: bg-color .2s ease-in-out;
}

.forms_buttons-action:hover {
    background-color: #d76b5f;
    /* Darken salmon by approx.10% */
}

.user_forms-signup,
.user_forms-login {
    position: absolute;
    left: 40px;
    width: calc(100% - 80px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease-in-out, visibility .4s ease-in-out, transform .5s ease-in-out;
}

.user_forms-signup {
    transform: translate3d(120px, 0, 0);
}

.user_forms-signup .forms_buttons {
    justify-content: flex-end;
}

.user_forms-login {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    visibility: visible;
}


/* Triggers */

.user_options-forms.bounceLeft {
    animation: bounceLeft 1s forwards;
}

.user_forms-signup.bounceLeft {
    animation: showSignUp 1s forwards;
}

.user_forms-login.bounceLeft {
    opacity: 0;
    visibility: hidden;
    transform: translate3d(-120px, 0, 0);
}

.user_options-forms.bounceRight {
    animation: bounceRight 1s forwards;
}


/* Responsive */

@media screen and (max-width: 990px) {
    .user_options-forms {
        min-height: 350px;
    }
    .forms_buttons {
        flex-direction: column;
    }
    .user_forms-login .forms_buttons-action {
        margin-top: 30px;
    }
    .user_forms-signup,
    .user_forms-login {
        top: 40px;
    }
    .user_options-registered,
    .user_options-unregistered {
        padding: 50px 45px;
    }
}

.no-scroll {
    overflow-x: hidden;
    /* Interdit le défilement horizontal */
}

.btn-text {
    background: -webkit-linear-gradient(#002161, #A31A04);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.btn-blue {
    background-color: #002161;
    color: #ffffff;
}