body {
    margin-top: 0;
}

.publicLayoutBody {
    display: grid;
    grid-template-columns: 645px 1fr;
    grid-template-rows: auto;
    grid-template-areas: 
        "logo img"
        "content img"
        "footer footer";
}

div.hsection {
    margin-bottom: 0;
    padding: 0;
    text-transform: capitalize;
    border-bottom: none;
}

.loginImage {
    grid-area: img;
    background-color: #07008c;
    background-image: url("/ims/assets/ctx/b12ad85/images_sbi/img-login.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.publicLayoutBody .headerDiv.login {
    display: block;
    grid-area: logo;
    font-size: 18px;
    text-align: center;
    background: none;
}

.publicLayoutBody .headerDiv.login img {
    width: 245px;
    margin-top: 270px;
    margin-bottom: 80px;
}

.publicLayoutBody .headerDiv.login a + p {
    color: var(--clr-blue-dk);
}

.publicLayoutBody .notLogedHeader {
    display: none;
}

#main-menu-public + hr + div.row > .col-9.offset-3 {
    display: none;
}

.brandedPublicContainer {
    padding: 0;
}

.brandedPublicContainer .row + .row {
    margin: 0;
}

.brandedLoginBox {
    width: 60%;
    margin: auto;
    padding: 0 0 95px;
}

.brandedLoginBox .hsection {
    font-size: 16px;
}

.brandedLoginBox label {
    width: max-content;
    padding: 0 5px;
    position: relative;
    top: 38px;
    left: 10px;
    z-index: 10;
    color: var(--clr-gray-80);
    font-size: 16px;
    transition: transform .1s ease-in-out;
}

.brandedLoginBox:has(input[name="login"]:is(:not(:placeholder-shown), :focus)) label[for="login"],
.brandedLoginBox:has(.showPwdLoginFormDiv > input[name="password"]:is(:not(:placeholder-shown),
:focus)) label[for="password"],
.brandedLoginBox:has(input[name="usernameField"]:is(:not(:placeholder-shown), :focus)) label[for="usernameField"], 
.brandedLoginBox:has(input[name="emailField"]:is(:not(:placeholder-shown), :focus)) label[for="emailField"], 
.brandedLoginBox:has(input[name="codeField"]:is(:not(:placeholder-shown), :focus)) label[for="codeField"], 
.brandedLoginBox:has(input[name="answerField"]:is(:not(:placeholder-shown), :focus)) label[for="answerField"], 
.brandedLoginBox:has(input[name="idField"]:is(:not(:placeholder-shown), :focus)) label[for="idField"], .brandedLoginBox:has(input[name="codeFieldVal"]:is(:not(:placeholder-shown), 
:focus)) label[for="codeFieldVal"], .brandedLoginBox:has(input[name="newPasswordField"]:is(:not(:placeholder-shown), :focus)) label[for="newPasswordField"], 
.brandedLoginBox:has(input[name="repeatedPasswordField"]:is(:not(:placeholder-shown), 
:focus)) label[for="repeatedPasswordField"] {
    transform: scale(0.8) translate(-14px, -29px);
    background-color: white;
    color: var(--clr-blue);
}

.brandedLoginBox .form-control {
    width: 100%;
    font-size: 16px;
    padding: 10px 12px;
    max-width: 100%;
}
.showPwdLoginFormDiv {
    max-width: 100%;
}

.showPwdLoginForm {
    right: 15px;
    left: auto;
    top: 11px;
}

.showPwdLoginForm i {
    padding: 5px;
    font-size: 1.3em;
}

.brandedLoginBox .btn {
    width: 100% !important;
    margin-top: 16px;
    font-size: 14px;
    padding: 12px 12px 10px;
}

.brandedLoginBox a[href="/ims/forgotpassword"] {
    display: block;
    font-size: 14px;
    font-weight: 500;
    text-align-last: center;
}

.brandedLoginBox .hsection ~ p:nth-of-type(2) {
    margin-bottom: -16px;
}

.brandedLoginBox + .col-3 {
    display: none;
}

.brandedLoginBox:has(#forgotPasswordForm) {
    padding-bottom: 35px;
}

.forgotPasswordInfo {
    width: 350px;
    padding-bottom: 185px;
}

.brandedLoginBox.resetPassword {
    padding-bottom: 145px;
}

.brandedLoginBox.resetPassword .row + .row > .col-3 {
    padding: 0;
}

.brandedLoginBox.resetPassword .col-3 {
    width: auto;
}

.publicLayoutBody .footerContainer {
    grid-area: footer;
}

/* body {
    margin: 0;
}

.footerContainer {
    position: static;
} */

@media (max-width: 768px) {
    .publicLayoutBody {
        grid-template-columns: 100%;
        grid-template-areas: 
            "logo"
            "content"
            "footer";
    }

    .loginImage {
        display: none;
    }
}

@media (max-width: 768px) {
    .publicLayoutBody .headerDiv.login img {
        margin-top: 100px;
        margin-bottom: 40px;
    }
    .brandedLoginBox {
        padding: 0 0 40px;
    }

@media (min-width: 769px) and (max-width: 1280px) {
    .publicLayoutBody {
        grid-template-columns: 530px 1fr;
    }

    .publicLayoutBody .headerDiv.login {
        scale: 0.9;
    }

    .publicLayoutBody .headerDiv.login img {
        margin-top: 185px;
    }

    .brandedPublicContainer {
        scale: 0.9;
    }

    .loginImage {
        background-size: 170%;
    }
}

.footerContainer .col-12.col-md-8 p:first-child {
    display: none;
}