/*-----===UNIVERSAL===-----*/

/*-----===MAIN===-----*/
main{
    min-height: 75vh;
    background: linear-gradient(0deg, slateblue, white);
}

/*-----===ARTICLE===-----*/
article{
    height: 450px;
    width: 400px;
    background-color: white;
    border: 2px solid white;
    border-radius: 1em;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    box-shadow: 0 0 15px lightgray;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: height .3s ease;
    overflow: hidden;
}
article.cadastro-ativo{
    height: 500px;
}
article.cadastro-ativo section#login{
    transform: translateX(-400px);
    transition: transform .3s ease;
}
section#login{
    transition: transform .3s ease;
    transform: translateX(0);
}

article.cadastro-ativo section#cadastro{
    transition: transform .3s ease;
    transform: translateX(0);
}
section#cadastro{
    position: absolute;
    transition: transform .3s ease;
    transform: translateX(400px);
}

section{
    width: 85%;
}
section h2{
    font-size: 32px;
    color: black;
    text-align: center;
    margin-bottom: 2em;
}

.email-senha, .usuario-inexistente, .usuario-existente, .email-registrado, .preencha{
    position: absolute;
    top: 25px;
    font-size: 32px;
    color: white;
    border: slateblue;
    background-color: slateblue;
    padding: 10px 30px;
    transition: transform .3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    transform: translateY(-100px);
    z-index: 400;
}
.email-senha.ativo, .usuario-inexistente.ativo, .usuario-existente.ativo, .email-registrado.ativo, .preencha.ativo{
    transition: transform .3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    transform: translateY(10px);
}

/*---=CAMPO=---*/
fieldset{
    border: none;
    margin: 2em 0;
}
.campo-email, .campo-senha, .campo-usuario{
    position: relative;
    height: 2em;
    width: 100%;
    border: none;
    border-bottom: 2px solid slateblue;
}
.campo-checkbox{
    font-size: 16px;
    font-weight: 500;
    margin: -15px 0 15px;
    display: flex;
    justify-content: space-between;
}

.submit-cadastro, .submit-login{
    width: 100%;
    height: 2.5em;
    color: slateblue;
    background-color: white;
    border: solid 2px slateblue;
    outline: none;
    border-radius: .5em;
    font-size: 20px;
    font-weight: 900;
    cursor: pointer;
    transition: .3s;
}

.login-cadastro{
    font-size: 18px;
    text-align: center;
    font-weight: 500;
    margin: 25px 0 10px;
}
.login-cadastro a{
    color: slateblue;
    font-weight: 600;
    text-decoration: none;
}

/*-CONTEÚDO-*/
.icon{
    position: absolute;
    right: 10px;
    font-size: 1.2em;
    line-height: 2em;
}
.campo-email label, .campo-senha label, .campo-usuario label{
    position: absolute;
    top: 90%;
    left: 1em;
    transform: translateY(-100%);
    font-size: 20px;
    font-weight: bolder;
    pointer-events: none;
    transition: .5s;
}
.campo-checkbox a{
    text-decoration: none;
    color: slateblue;
}

input[type="email"], input[type="password"], input[type="text"]{
    width: 87%;
    height: 100%;
    background: transparent;
    border: none;
    outline: none;
    font-size: 18px;
    font-weight: 600;
    padding-left: 5px;
}

input[type="checkbox"]{
    accent-color: slateblue;
    margin-right: 3px;
}

/*-----===EFEITOS===-----*/
input[type="email"]:focus~label, input[type="email"]:valid~label{
    top: 0px;
}
input[type="password"]:focus~label, input[type="password"]:valid~label{
    top: 0px;
}
input[type="text"]:focus~label, input[type="text"]:valid~label{
    top: 0px;
}

.campo-checkbox a:hover{
    text-decoration: underline;
}

.submit-login:hover, .submit-cadastro:hover{
    color: white;
    background-color: slateblue;
}

.login-cadastro a:hover{
    text-decoration: underline;
}