@import url('../css/base.css');

body.login section.grid {
    display: grid;
    grid-template-areas:
        'page head'
        'page  visual';
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 150px 1fr;
    max-width: 1100px;
    box-shadow: 0px 4px 54px rgba(0, 0, 0, 0.08);
    margin: 100px auto 50px;
}

body.login section.grid > header {
    grid-area: head;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
body.login section.grid > header a {
    margin: auto;
    display: block;
    width: 128px;
    height: 34px;
    margin-top: 72px;
}

body.login section.grid > section.page {
    grid-area: page;
}

body.login section.grid > section.visual {
    grid-area: visual;
}

body.login section.grid > section.visual img {
    display: block;
    margin: auto;
    width: 369px;
}

body.login .page {
    background: #fcfcfc;
    padding-right: 20px;
}

body.login .forgot-pass {
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    margin-bottom: 30px;
    font-weight: 500;
}

body.login .page .hr {
    display: block;
    margin: 28px auto;
    position: relative;
    width: 320px;
    height: 1px;
    background: var(--bs-gray);
}

body.login .page .hr:before {
    content: 'or';
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -13px;
    bottom: 0;
    text-align: center;
    background: #fff;
    width: 24px;
}


body.login .page h4 {
    text-align: center;
    margin-top: 52px;
    margin-bottom: 39px;
}

body.login .page a.auth-button {
    margin: auto;
    display: block;
    width: 320px;
    height: 50px;
    margin-top: 15px;
}

body.login .page .sign-form-button {
    width: 320px;
    height: 45px;
    margin: 20px auto 50px;
    display: block;
    line-height: 30px;
}

body.login .page .sign-form-button svg {
    position: relative;
    left: -19px;
    top: -1px;
}

body.login .general-form-error {
    text-align: center;
    color: var(--bs-red);
    font-weight: 500;
    margin: 15px;
}

body.login #login-form {
    width: 320px;
    margin: 0 auto;
    padding: 5px 0;
}

body.login #login-form .field {
    position: relative;
    min-height: 80px;
}

body.login #login-form .field.hidden {
    display: none;
}

body.login #login-form .field .input-group-addon {
    position: relative;
    margin: auto;
}

body.login button.login-form-submit {
    width: 100%;
    font-weight: 500;
    font-size: 16px;
    line-height: 34px;
    height: 50px;
}

body.login #login-form #password-toggle {
    position: absolute;
    right: 14px;
    top: 5px;
    font-size: 26px;
    color: var(--bs-gray);
    z-index: 4;
}

body.login #login-form #password-toggle i {
    cursor: pointer;
}

body.login #login-form input#form-input-password {
    padding-right: 50px;
}

body.login #login-form .form-control.is-invalid,
body.login #login-form .was-validated .form-control:invalid {
    background: none;
    padding: 0.5rem 1rem;
    border-color: var(--bs-red);
}

body.login #login-form .form-control.is-valid,
body.login #login-form .was-validated .form-control:valid {
    background: none;
    padding: 0.5rem 1rem;
}

body.login #login-form .form-control.is-invalid:focus,
body.login .was-validated .form-control:invalid:focus {
    box-shadow: none;
}

body.login #login-form div.invalid-feedback {
    font-weight: 500;
    font-size: 12px;
    color: var(--bs-red);
    padding: 0 10px 15px;
}

body.login #login-form .is-invalid ~ .invalid-feedback:before {
    content: '';
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23F84128'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23F84128' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    width: 20px;
    top: 15px;
    height: 20px;
    right: -30px;
}

body.login #login-form .field label {
    position: absolute;
    left: 10px;
    top: -9px;
    background: #fff;
    padding: 0 5px;
    font-size: 12px;
    font-weight: 500;
    z-index: 4;
}

body.login header img.logo {
    width: 100%;
}

@media only screen and (max-width: 767px) {
    body.login section.grid {
        display: grid;
        grid-template-areas:
            'head'
            'page';
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        max-width: 320px;
        box-shadow: none;
        margin: 0 auto 10px;
    }
    body.login section.grid > section.visual {
        display: none;
    }
    body.login section.grid > header {
        grid-area: head;
        display: flex;
        align-items: center;
        height: 70px;
    }
    body.login section.grid > header a {
        margin: auto;
        display: block;
        width: 75px;
        height: 34px;
        margin-top: 20px;
    }
    body.login .page {
        padding: 0;
        background: transparent;
    }
    body.login .page h4 {
        margin-top: 40px;
    }
    body.login .general-form-error {
        font-size: 13px;
        line-height: 14px;
    }
    body.login #login-form .is-invalid ~ .invalid-feedback:before {
        display: none;
    }
}
