body {
    background-image: linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12);
    /*background-color: #212121;*/
    background-attachment: fixed;
    background-size: cover;
    background-repeat: repeat;
    height: 100%;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
}

/* login */
.login {
    height: fit-content;
    width: 25rem;
    margin: 5rem auto 0 auto;
    background-color: #ffffffab;
    backdrop-filter: blur(10px);
    box-shadow: 1rem 1rem 5rem #000000;
    border-radius: .5rem;
    font-family: Arial, Helvetica, sans-serif;

    display: flex;
    flex-direction: column;
}

.login .title {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.login .title h1 {
    color: #5a5a5a;
    text-align: center;
    font-size: 1.75rem;
    margin-top: 2rem;
}

.login .message {
    width: 80%;
    margin: 2rem auto;
    display: flex;
    flex-direction: column;
}

.login .message a {
    margin: 0 auto;
}

.login form {
    padding: 2rem;
    display: flex;
    flex-direction: column;
}

.login form p {
    font-size: 1rem;
    color: #000;
    opacity: 50%;
}

.login form label {
    background-color: transparent;
    border-bottom: 1px solid #141414;
    color: #0000007f;
    transition: background-color ease-in-out 250ms;
    display: flex;
}

.login form label span {
    font-size: 1.5rem;
    user-select: none;
    padding: .5rem 0 .5rem .5rem;
}

.login form label input[type="text"], .login form label input[type="password"] {
    background-color: transparent;
    border: 0;
    outline: none;
    padding: .5rem;
    color: #000;
    width: 100%;
}

.login a {
    color: #0066CC;
}

.login input[type=submit] {
    border-radius: .3rem;
    width: fit-content;
    padding: .5rem 2rem;
    font-size: 1.2rem;
    background-color: #45b2fa;
    box-shadow: 0 0 2rem #45b2fa;
    border: 0;
    color: #fff;
    opacity: 75%;
    margin: 2rem auto 0 auto;

    transition: opacity ease-in-out 250ms;

    cursor: pointer;
}

.login input[type=submit]:hover {
    opacity: 100%;
}

.login .spacetext {
    height: 2.5rem;
}

/* screen size */
@media screen and (max-width: 400px) {
    .login {
        width: 100%;
    }

    .title img {
        width: 85vw;
    }
    
    .title p {
        font-size: 10vw;
    }
}