@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito&display=swap');

@keyframes animatebackground {
    from {
        background-position-y: 0;
        background-position-x: 0;
    }
    to {
        background-position-y: 200rem;
        background-position-x: 200rem;
    }
}

.body {
    background-color: black;
    background-image: url("https://i.imgur.com/ZvjVZL0.png");
    background-size: 30rem;
    background-position-y: 0;
    background-position-x: 0;

    color: white;
    font-family: proxima-soft, sans-serif;
    overflow-x: hidden;
    margin: 0;
    animation: animatebackground 100s infinite;
}

#logo {
    font-size: 1.75rem;
    top: 50%;
    bottom: -12rem;
    position: fixed;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -9999;
    text-align: center;
    pointer-events: none;
}

#logo h1, p {
    margin: 0;
    font-family: 'Nunito', sans-serif;
}

.center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.bottom-left {
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-family: 'Nunito', sans-serif;
}

.card {
    background-color: #1d1d1d;
    border-radius: 10px;
}

button {
    background: dodgerblue;
    padding: .5rem;
    color: white;
    border: none;
    border-radius: 5px;
    margin-top: 5px;
    font-size: 1.5rem;
    transition: opacity .25s, box-shadow .25s;
    font-family: 'Nunito', sans-serif;
}

button:hover {
    opacity: .75;
}

button:focus {
    box-shadow: 0 0 0 5px #ffbb0083;
    border-radius: 5px;
}

.btn-block {
    width: 100%;
}

.card {
    background-color: #1d1d1d;
    border-radius: 10px;
}

@media (min-width: 320px) {
    .card {
        width: 15rem;
    }
    #logo {
        font-size: 1rem;
    }
    input {
        width: 90%;
    }
}

@media (min-width: 375px) {
    .card {
        width: 18rem;
    }
    #logo {
        font-size: 1.5rem;
    }
    input {
        width: 93%;
    }
}

@media (min-width: 425px) {
    .card {
        width: 22rem;
    }
    #logo {
        font-size: 1.75rem;
    }
}

@media (max-width: 610px) {
    #logo p {
        font-size: 14px;
    }
}

.card-body {
    padding: 1.25rem;
}

.card-footer {
    padding: .5rem 1.25rem;
    font-size: 86%;
    background-color: #131313;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

a {
    color: dodgerblue;
    font-weight: unset;
    font-family: 'Nunito', sans-serif;
}

input {
    font-size: 1.5rem;
    padding: .5rem;
    background-color: #2a2a2a;
    border: none;
    color: white;
    border-radius: 5px;
    outline: none;
    transition: box-shadow .25s;
}

input:focus {
    box-shadow: 0 0 0 5px #ffbb0083;
}