.login {
    width: 100%;
    height: 100vh;
    background-color: #cae4ef;
    display: flex;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-position: 100% 95%;
    background-size: 168px;
}

body {
    height: 100%;
}

.login .main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 80%;
    padding: 0 15rem;
}

.login .inputContainer {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 20px;
    row-gap: 5px;
}

.login .inputContainer .inputTitle {
    font-family: "Metropolis Medium";
    font-size: 12px;
    font-weight: 500;
    line-height: 1.33;
    letter-spacing: 0.12px;
    color: #0d4962;
}

.login .passwordWrapper {
    display: flex;
    width: 100%;
    padding: 10px 0;
    position: relative;
}

.login .main-container .passwordIcon,
.login .main-container .passwordIcon.show {
    position: absolute;
    right: 10px;
    top: 30%;
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/v2/bo/show_password_lm.png);
    background-size: contain;
    background-size: contain;
    background-repeat: no-repeat;
    height: 25px;
    width: 25px;
}

.login .main-container .passwordIcon.show {
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/v2/bo/hide_password_lm.png);
}

.login .main-container input {
    width: 100%;
    height: 42px;
    border: 0;
    font-family: "Metropolis Medium";
    background-color: #ffffff;
    border-radius: 8px;
    color: #0d4962;
    font-size: 12px;
    letter-spacing: 0.12px;
    padding: 0 10px;
}

.login .main-container input::placeholder {
    font-family: "Metropolis Medium";
    border-radius: 8px;
    color: #0d4962;
    font-size: 12px;
    letter-spacing: 0.12px;
}

.login .main-container .button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    height: 42px;
    font-family: "Metropolis Bold";
    letter-spacing: 0.17px;
    color: white;
    font-size: 13px;
    margin-top: 30px;
    text-transform: uppercase;
    background-color: #0d4962;
}

.login .main-container .forgot {
    align-self: flex-end;
    font-family: "Metropolis Medium";
    letter-spacing: 0.12px;
    color: #0d4962;
    font-size: 12px;
    cursor: pointer;
}

.login .error {
    margin-top: 10px;
}

.login .titleContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 45px 0;
}

.login .logoImage {
    background-size: contain;
    background-repeat: no-repeat;
    width: 330px;
}

.login .main-container .title {
    font-family: "Metropolis Bold";
    font-size: 24px;
    letter-spacing: 0.24px;
    color: #0d4962;
}

.login .main-container .subTitle {
    display: flex;
    flex-wrap: wrap;
}

.login .main-container .subTitle span {
    font-family: "Metropolis Regular";
    font-size: 16px;
    letter-spacing: 0.16px;
    color: #0d4962;
}

.login .main-container .subTitle span.medium {
    font-family: "Metropolis Medium";
    margin-left: 5px;
}

.login .main-container .subTitle sup.reg {
    top: 0.5rem;
}
.login .main-container .subTitle sup.reg::after {
    content: "\00AE";
    color: #0d4962;
    margin-right: 5px;
}

/* DARK THEME ENABLED */

.login.dark {
    background-color: #031821;
}

.login.dark .inputContainer > *,
.login.dark .main-container input::placeholder,
.login.dark .main-container .title,
.login.dark .main-container .subTitle > *,
.login.dark .main-container .subTitle sup.reg::after,
.login.dark .main-container .forgot {
    color: rgba(255, 255, 255, 0.87);
}

.login.dark .main-container input {
    background-color: #0d4962;
    color: rgba(255, 255, 255, 0.87);
}

.login.dark .main-container .passwordIcon {
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/v2/bo/show_password_dm.png);
}

.login.dark .main-container .passwordIcon.show {
    background-image: url(https://d1gq9jzbezk7fw.cloudfront.net/p/en_US/gv/i/v2/bo/hide_password_dm.png);
}

/* MEDIA QUERIES */

/* Mobile */
@media (max-width: 768px) {
    .login {
        background-position: 100% 107%;
    }
    .login .main-container {
        padding: 0 1rem;
        width: 100%;
    }

    .login .main-container .title {
        font-size: 18px;
        letter-spacing: 0.18px;
    }

    .login .main-container .subTitle span {
        font-size: 12px;
        letter-spacing: 0.12px;
    }
}

/* iPad */
@media (min-width: 768px) and (max-width: 1024px) {
    .login .main-container {
        padding: 0 7rem;
        width: 100%;
    }
}

/* OVERRIDE AUTOCOMPLETE COLOR FILL INPUTS BY WEBKIT BASED WEB BROWSERS */
.login input:-webkit-autofill,
.login input:-webkit-autofill:focus {
    box-shadow: 0 0 0 1000px #ffffff inset;
    -webkit-text-fill-color: #0d4962;
}

.login.dark input:-webkit-autofill,
.login.dark input:-webkit-autofill:focus {
    box-shadow: 0 0 0 1000px #0d4962 inset;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.87);
}
