*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

body{

    background:#f3f5fa;

    min-height:100vh;

    display:flex;
    flex-direction:column;

}

/* ======================================================
   HEADER
====================================================== */

header{

    width:100%;
    height:55px;

    background:#05013a;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:0 20px;

    box-shadow:0 2px 8px rgba(0,0,0,.18);

}

/* BOTÕES DO HEADER */

header .btn{

    width:42px;
    height:42px;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:0;
    margin:0;

    border:none;
    background:transparent;

    color:#fff;

    font-size:28px;
    line-height:1;

    cursor:pointer;

    transition:.25s;

    flex-shrink:0;

}

header .btn:hover{

    opacity:.75;

}

/* ======================================================
   LOGO
====================================================== */

body > h1{

    margin:20px 0;

    padding:0;

    text-align:center;

}

body > h1 figure{

    margin:0;

}

body > h1 figure img{

    width:100px;

    display:block;

    margin:0 auto 4px; /*margin:0 auto 8px;*/

}

 h1 > figure > p{

    font-family:Arial, Helvetica, sans-serif; /*font-family:Georgia, serif;*/

    font-size: 15px;

    color:#3b3555;

}

/* ======================================================
   LOGIN
====================================================== */

.login{

    width:100%;
    max-width:420px;

    margin:0 auto 40px;

    background:#fff;

    padding:40px;

    border-radius:12px;

    box-shadow:0 10px 30px rgba(0,0,0,.15);

}

.login h1{

    margin:0 0 30px;

    padding:0;

    text-align:center;

    color:#05013a;

    font-size:30px;

}

/* ======================================================
   FORMULÁRIO
====================================================== */

.grupo{

    margin-bottom:20px;

}

label{

    display:block;

    margin-bottom:8px;

    font-weight:bold;

    color:#444;

}

input{

    width:100%;

    padding:14px;

    border:2px solid #d5dce7;

    border-radius:10px;

    font-size:16px;

    transition:.25s;

}

input:focus{

    outline:none;

    border-color:#05013a;

    box-shadow:0 0 0 4px rgba(5,1,58,.08);

}

.valido{

    border-color:#20b15a !important;

}

.invalido{

    border-color:#d93025 !important;

}

.erro{

    display:none;

    margin-top:6px;

    color:#d93025;

    font-size:13px;

}

/* ======================================================
   BOTÃO DO FORMULÁRIO
====================================================== */

.login button{

    width:100%;

    padding:15px;

    border:none;

    border-radius:10px;

    background:#05013a;

    color:#fff;

    font-size:17px;

    font-weight:bold;

    cursor:pointer;

    transition:.25s;

}

.login button:disabled{

    opacity:.55;

    cursor:not-allowed;

}

.login button:not(:disabled):hover{

    background:#10246d;

    transform:translateY(-2px);

}

.login button:not(:disabled):active{

    transform:translateY(0);

}

/* ======================================================
   RESPONSIVO
====================================================== */

@media (max-width:480px){

    body > h1{

        margin:20px 0;

    }

    body > h1 figure img{

        width:90px;

    }
    /*
    body > h1 figure figcaption{

        font-size:22px;

    }
    */    

    .login{

        width:calc(100% - 24px);

        padding:25px;

        margin-bottom:25px;

    }

    .login h1{

        font-size:26px;

    }

}