body {
    background-color: rgb(245, 245, 245) !important;
    flex-direction: column;
    display: flex;
}

main {
    background: url('/resources/images/wallpapers/rocky-beach.jpg') no-repeat;
    background-size: cover;
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;

    & > .card {
        background-color: rgba(255, 255, 255, 1) !important;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, .1);
        border: none;
        border-radius: 10px;
        width: 400px;
        max-width: 80%;
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: 20px;
        padding: 30px;

        & > .environment-banner {
            width: 100%;
            padding: 12px 15px;
            border-radius: 6px;
            margin-bottom: 20px;
            text-align: center;
            font-weight: bold;

            &.staging {
                background: rgb(254, 154, 0);
            }

            &.development {
                background: rgba(var(--color-dark-900), 1);
                color: rgba(var(--color-font-light), 1);
            }
        }

        & > .logo {
            width: 100%;
            height: 200px;
            margin: 0;
        }

        & > form {
            width: 100%;

            & > .form-elements {
                display: flex;
                flex-direction: column;
                row-gap: 15px;

                & > .form-group {
                    padding: 0;
                }

                & > .forgot-password {
                    display: block;
                    text-align: center;
                    margin: 0;
                }
            }
        }

        & > .sso-providers {
            width: 100%;
        }
    }
}

#login {

    & > .form-wrapper {

        & > form > .form-elements {
            & > .form-group {
                padding: 5px 0;
            }
        }

        & button {
            width: 100%;
            margin: 10px 0 20px 0;
        }

        & .forgot-password {
            text-align: center;
            float: none !important;
        }

        & .sso-providers {
            width: 100%;

            & > a {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 10px;
            }
        }
    }
}
