 .login-container {
     min-height: 100%;
     display: flex;
     padding:30px 15px;
     font-size: 1rem;
}
 .login-form {
     max-width: 400px;
     width:100%;
     margin:auto;
}

 .login-logo img{
     max-width: 100%;
     max-height: 100px;
}

 .astm-form-footer {
     margin-top: 20px;
     padding-top: 20px;
     border-top: 1px dashed #999;
}
 .astm-form-footer {
     margin-top: 20px;
     padding-top: 20px;
     border-top: 1px dashed #999;
}
 .login-error{
    padding:30px 110px;
}
 @media screen and (max-width: 640px){
     .login-error{
        padding:30px 30px 30px 110px;
    }
}
 .login-error .login-form{
     max-width:420px 
}
 .astm-error{
     margin-top:60px;
     position:relative;
}
 .error-icon{
     position: absolute;
     left: -95px;
     top: 10px;
}
 .error-para{
     line-height:36px;
}
 .link{
     color: #0071eb;
}
 .a-link-text-align-right{
     float: right;
}
 br {
     content: "";
     margin: 2em;
     display: block;
     font-size: 24%;
}
 .astm-alert-text{
     padding-left:25px;
     position:relative;
}
 .astm-alert-text img.d-inline-block{
     position:absolute;
     top:0;
     left:0;
}
 .centered {
     position: fixed;
     top: 50%;
     left: 50%;
    /* bring your own prefixes */
     transform: translate(-50%, -50%);
}

/* password input eye button */
.password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.toggle-password-btn {
    position: absolute;
    right: 10px;
    background: none;
    border: none;
    cursor: pointer;
    color: #666;
    padding: 5px;
    outline: none !important;
}

toggle-password-btn:focus,
.toggle-password-btn:focus-visible {

    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(0,123,255,0.25);

}
.form-control {
    padding-right: 40px;
}

.required-label::before {
    content: "* ";
    color: #d32f2f;
    font-weight: bold;
}