body,
p {
    margin: 0;
}

body {
    min-height: 100%;
    font-family: Roboto, sans-serif;
}

.xbi-logo {
    width: 60%;
    align-self: center;
}

.page-title {
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
}

.login-form-wrapper {
    display: grid;
    place-content: center;
    min-height: 100dvh;
    background: linear-gradient(135deg, rgba(33, 39, 58, 1) 0%, rgba(70, 83, 124, 1) 50%, rgba(154, 164, 198, 1) 100%);
    /*background: rgb(33, 39, 58);*/
    padding: 0 1rem;
}

.login-form {
    background: #F7F7F7;
    border: 1px solid #F7F7F7;
    border-radius: 0.5rem;
    box-shadow: 2px 2px 4px rgb(33, 39, 58);
    padding: 2rem;
    gap: 2rem;
}

.login-form,
.company-login-wrapper,
.sign-in-wrapper,
.user-pass-wrapper,
.form-item-wrapper {
    display: flex;
    flex-direction: column;
}

.form-item-wrapper,
.company-login-wrapper,
.forgot-password-link,
.login-link {
    font-size: 0.875rem;
}

.form-item-wrapper,
.form-item-checkbox,
.company-login-wrapper {
    gap: 0.5rem;
}

.user-pass-wrapper {
    gap: 1rem;
}

.form-item-checkbox,
.remember-company,
.company-codes,
.sign-in-btn,
.forgot-password-link,
.login-link {
    cursor: pointer;
}

.form-item {
    padding: 0.5rem;
}

.form-item,
.sign-in-btn,
.signed-out-text,
.back-to-login-link {
    height: 2.75rem;
}

.form-item,
.company-code-option {
    font-size: 1rem;
}

.form-item-checkbox {
    display: flex;
    align-items: center;
    background: none;
    border-radius: 0.5rem;
    padding: 0.5rem 0;
    transition: background 0.4s ease;
}

.form-item {
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: 1px solid #BFBFBF;
    /*border-radius: 0.5rem;*/
    letter-spacing: 1px;
    background: #F7F7F7;
    transition: background 0.4s ease;
}

.form-item:focus-visible {
    outline: none;
    background-color: #EDEDED;
}

.form-item:hover,
.form-item-checkbox:hover {
    background: #EDEDED;
}

.remember-company-text {
    font-size: 1rem;
}

.sign-in-wrapper {
    gap: 1.5rem;
}

.company-login-wrapper {
    color: #7D7D7D;
}

.sign-in-btn,
.signed-out-text,
.back-to-login-link {
    font-size: 1rem;
    color: #EBEBEB;
    font-weight: bold;
    border: none;
    border-radius: 0.5rem;
}

.signed-out-text {
    background-color: #000;
    display: grid;
    place-content: center;
}

.sign-in-btn {
    background-color: #7A87B3;
    box-shadow: 0 0 2px 0 #5B6B9F;
    padding: 0.25rem 0.5rem;
    text-align: center;
    transition: 0.4s ease;
}

.sign-in-btn:hover {
    color: #5B6B9F;
    background-color: #EBEBEB;
    box-shadow: 0 0 2px 0 #7D7D7D;
}

.back-to-login-link {
    display: grid;
    place-content: center;
    background-color: #21273A;
    box-shadow: 0 0 2px 0 #11141D;
    text-decoration: none;
    transition: 0.4s ease;
}

.back-to-login-link:hover {
    background-color: #343D5B;
    box-shadow: 0 0 2px 0 #11141D;
}

.form-label {
    display: none;
}

.forgot-password-link,
.login-link {
    text-align: center;
    text-decoration: none;
}

.forgot-password-link:hover {
    color: #5B6B9F;

}

@media screen and (min-width: 1024px) {
    .login-form {
        padding: 4rem;
        width: 35rem;
    }

    .xbi-logo {
        width: 40%;
    }
}

@media screen and (min-width: 1366px) {
    .xbi-logo {
        width: 50%;
    }
}

@media screen and (min-width: 1536px) {
    .login-form {
        width: 40rem;
    }

    .xbi-logo {
        width: 45%;
    }
}

@media screen and (min-width: 1920px) {
    .login-form {
        gap: 3rem;
        padding: 5rem;
        width: 45rem;
    }

    .xbi-logo {
        width: 40%;
    }
}