body {
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

main {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    background-color: rgba(249, 249, 249, 0.9);
}

main.row {
    justify-content: center;
    align-items: center;
}

main.row .logo {
    margin: 1rem;
    width: 24rem;
}

main.row .logo img {
    width: 100%;
    height: auto;
}

main.column {
    justify-content: flex-start;
    align-items: center;
}

main.column .logo {
    margin: 1rem;
    width: 18rem;
}

main.column .logo img {
    width: 100%;
    height: auto;
}

.form {
    width: 30rem;
    background-color: var(--background-light);
    box-shadow: 0 0 50px 5px var(--primary-shadow);
    border-radius: 1rem;
    border: 1px solid var(--border);
    overflow-y: auto;
}

.form .row,
.form .column {
    padding: 1rem;
    justify-content: space-between;
    align-items: center;
}

.form-headder {
    align-items: flex-start;
}

.form-body {
    border: 1px solid var(--border);
    border-left: 0;
    border-right: 0;
    align-items: flex-start;
}

.form-body.column {
    justify-content: start;
    align-items: start;
}

.form-body .input {
    width: 100%;
    margin-bottom: .5rem;
}

.password_validation {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .5rem;
    row-gap: .5rem;
}

.form-footer {
    justify-content: flex-end;
}

.background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}

.background-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(4px);
}

@media only screen and (max-width: 992px) {

}

@media only screen and (max-width: 768px) {
    main {
        background-color: #f9f9f9;
    }

    main.row,
    main.column {
        justify-content: flex-start;
        align-items: center;
    }
    
    main.row .logo,
    main.column .logo {
        margin: 1rem;
        width: 18rem;
    }

    main.row,
    main.column {
        flex-direction: column;
    }
    
    .form {
        width: 90%;
    }
}

@media only screen and (max-width: 600px) {

}