* {
    box-sizing: border-box;
}

body {
    margin: 0;
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    background-color: #ecf0f3;
}

.login-form {
    width: 300px;
    height: 530px;
    background: #ecf0f3;
    border-radius: 30px;
    padding: 50px 35px 35px 35px;

    box-shadow:
        10px 10px 15px #cbced1,
        -10px -10px 15px white;
}

.logo {
    background: url("../assets/images/logo.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;

    height: 100px;
    width: 100px;
    border-radius: 50%;
    margin: 0 auto;

    box-shadow:
        0px 0px 2px #5f5f5f,
        6px 6px 12px #a7aaaf,
        -6px -6px 12px white;
}

.title {
    text-align: center;
    text-transform: uppercase;
    font-family: sans-serif;
    font-size: 15px;
    padding-top: 15px;
    letter-spacing: .3px;
}

.sub-title {
    text-align: center;
    font-family: sans-serif;
    font-size: 15px;
    padding-top: 7px;
    letter-spacing: 3px;
}

.fields {
    width: 100%;
    padding: 30px 5px 5px 5px;
}

.fields input {
    border: none;
    outline: none;
    background: none;
    color: #555;
    padding: 20px 10px 20px 5px;

    flex: 1;
    min-width: 0;
}


.username,
.password {
    margin-bottom: 20px;
    border-radius: 20px;
    
    display: flex;
    align-items: center;

    box-shadow:
        inset 8px 8px 15px #cbced1,
        inset -8px -8px 15px white;
}

.fields svg {
    height: 22px;
    margin: 0 7px -3px 25px;
}

.signin-button {
    outline: none;
    border: none;
    cursor: pointer;
    width: 100%;
    height: 50px;
    border-radius: 20px;
    background: #FC4144;

    box-shadow:
        3px 3px 8px #cbced1,
        -3px -3px 3px white;

    color: white;
    transition: .5s linear;
}

.signin-button:hover {
    background-color: #F50609;
    transition: .5s linear;
}

.signin-button:active {
    background: yellowgreen;
}

.link {
    width: 100%;
    text-align: center;
    margin-top: 5px;
}

.link a {
    text-decoration: none;
    color: #aaa;
    font-family: sans-serif;
    font-size: 14px;
}

.link a:hover {
    color: #777;
}

.login-error {
    text-align: center;
    margin-top: 15px;
    font-family: sans-serif;
    font-size: 13px;
    color: #d93025;
}