@charset "UTF-8";

/*
    Paleta de cores:
    Verde = #49a09d
    Lilás = #5f2c82
*/

* {
    margin: 0px;
    padding: 0px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    box-sizing: border-box;
}

body {
    background-color: #5f2c82;
    height: 100vh;
}

#login {
    background-color: white;
    width: 250px;
    height: 500px;
    border-radius: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.45);
    transition: width .5s, height .5s;
    transition-timing-function: ease;
    transform: translate(-50%, -50%);

    /*
        overflow = Propriedade para definir como o navegador deve tratar o conteúdo de um elemento quando ele excede (transborda) as dimensões (altura ou largura) definidas para ele. Valor "hidden" -> oculta o que passa do limite definido.

        transition = Propriedade que permite alterar os valores de outras propriedades CSS de forma suave e gradual ao longo de um período de tempo, em vez de uma mudança imediata.

        transition-timing-function = Propriedade que define a curva de velocidade de uma transição, determinando se ela será linear, acelerada ou desacelerada ao longo de sua duração. Valor "ease" -> faz com que ela comece lenta, acelere no meio e termine devagar.
    */
}

#imagem {
    display: block;
    background: #5f2c82 url(../images/pexels-daria-ponomareva-78971502-8704748.jpg) no-repeat;
    height: 200px;
    background-size: cover;
    background-position: center;
}

#formulario {
    display: block;
    padding: 10px;
}

#formulario > h1 {
    text-align: center;
    margin-bottom: 10px;
}

#formulario > p {
    font-size: .8em;
    margin-bottom: 20px;
}

#formulario div.campo {
    background-color: #5f2c82;
    height: 40px;
    border: 2px solid #5f2c82;
    border-radius: 8px;
    margin: 5px 0px;
}

.campo span {
    color: white;
    font-size: 2em;
    width: 40px;
    padding: 5px;
}

.campo input {
    background-color: #94cfcd;
    font-size: 1em;
    width: calc(100% - 44px); /* A função calc() permite realizar cálculos matemáticos no CSS, combinando valores e unidades diferentes (ex: %, px, rem). Suporta +, -, * e /, com espaços obrigatórios ao redor dos operadores. */
    height: 100%;
    border: none;
    border-radius: 8px;
    padding: 4px;
    transform: translateY(-12px);
}

.campo input:focus-within {
    /* A pseudo-classe :focus-within segue a mesma ideia da :hover. A principal diferença é que :hover ativa estilos quando o cursor do mouse passa sobre um elemento, enquanto :focus-within aplica estilos a um elemento pai quando ele ou qualquer um de seus filhos (descendentes) recebe foco, como via TAB ou clique.  */
    background-color: white;
}

#formulario .botao {
    display: block;
    font-size: 1em;
    width: 100%;
    height: 40px;
    border-radius: 8px;
    text-align: center;
    cursor: pointer;
}

#formulario input[type=submit] {
    background-color: #49a09d;
    color: white;
    border: none;
    padding-bottom: 2px;
}

#formulario input[type=submit]:hover {
    background-color: #2d6462;
}

#formulario a.botao {
    color: #2d6462;
    border: 1px solid #49a09d;
    text-decoration: none;
    padding-top: 5px;
    margin-top: 5px;
}

#formulario a.botao:hover {
    background-color: #6cd3cf;
}

#formulario a.botao > span {
    font-size: .8em;
}