* {
    margin: 0;
    padding: 0;
}

.body-login-admin-reset {
    font-family: 'Roboto', helvetica, arial, sans-serif !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    /*height: 100vh;*/
}

.dash_login {
    display: flex;
    background: url(../img/grid.png), linear-gradient(to right top, #396cb7, #008dcb, #00a9b9, #00be8d, #86cb5a);
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.dash_login_box {
    position: relative;
    margin: auto;
}

.dash_login_box_content {
    width: 400px;
    max-width: 400px;
    height: auto;
    background: rgba(255, 255, 255, 1);
    /*background-color: rgba(244, 244, 246, 0.8);*/
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}

.dash_login_box_content .area-login {
    width: 100%;
}

#bar-btn-login button {
    cursor: pointer;
}

.sombra2 {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.sombra3 {
    box-shadow: 0 4px 10px 0 rgba(20, 19, 34, .03), 0 0 10px 0 rgba(20, 19, 34, .02);
}

.radius {
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
}

/* LABEL FLOAT */

.label-float {
    position: relative;
    padding-top: 13px;
}

.label-float-input {
    display: block;
    width: 340px;
    height: 50px;
    padding: 2px .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #202124;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #dadce0;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.label-float-input select {
    width: 100%;
    height: 100%;
    border: none; /* Remove as bordas */
    outline: none; /* Remove a borda de foco */
}

.label-float-input:focus {
    border: 2px solid #1a73e8;
    padding: 1px .69rem;
    outline: 0;
}

.label-float-input::placeholder {
    color: transparent;
}

.label-float-label {
    pointer-events: none;
    position: absolute;
    top: calc(50% - 15px);
    left: 40px;
    background-color: #fff;
    color: #949a9e;
    padding: 5px;
    box-sizing: border-box;
    transition: all .1s linear;
    -webkit-transition: all .1s linear;
    -moz-transition: all .1s linear;
}

.label-float-input:focus + .label-float-label,
.label-float-input:not(:placeholder-shown) + .label-float-label {
    font-size: 13px;
    top: calc(50% - 40px);
    color: #1a73e8;
}

.label-float-input:required:invalid + .label-float-label {
    color: red;
}

.label-float-input:focus:required:invalid {
    border: 2px solid red;
}

.label-float-input:required:invalid + .label-float-label:before {
    content: '*';
}

/*.label-float-label {*/
/*    pointer-events: none;*/
/*    position: relative; !* Permite que o pseudo-elemento seja posicionado em relação ao label *!*/
/*    top: calc(50% - 15px);*/
/*    left: 40px;*/
/*    color: #949a9e;*/
/*    padding: 5px;*/
/*    box-sizing: border-box;*/
/*    transition: all .1s linear;*/
/*    -webkit-transition: all .1s linear;*/
/*    -moz-transition: all .1s linear;*/
/*    z-index: 1; !* Garante que o texto fique acima da linha *!*/
/*}*/

/*.label-float-label::before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    left: 0; !* Ajuste conforme necessário para alinhar a linha *!*/
/*    top: 0;*/
/*    bottom: 0;*/
/*    width: 2px; !* Largura da linha vertical *!*/
/*    background-color: #1a73e8; !* Cor da linha *!*/
/*    z-index: -1; !* Coloca a linha atrás do texto *!*/
/*}*/

/*.label-float-input:focus + .label-float-label,*/
/*.label-float-input:not(:placeholder-shown) + .label-float-label {*/
/*    font-size: 13px;*/
/*    top: calc(50% - 40px);*/
/*    color: #1a73e8;*/
/*}*/



.tira_borda_input:focus {
    border-color: #ced4da;
    outline: 0;
    box-shadow: 0 0 0 0.0rem rgba(0, 0, 0, 0);
}

.logo_img {
    background: linear-gradient(to left bottom, #396cb7, #008dcb, #00a9b9);
    padding: 30px 30px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.logo_img img {
    width: 160px;
}

.logo {
    margin-top: 3px;
    height: 28px;
    margin-left: 10px;
    padding-left: 10px;
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    border-left: 2px solid #ffffff;
}

.logo span {
    color: #0077b3;
    font-size: 22px;
    font-weight: 600;
}

#bar-btn-login button {
    width: 100%;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 1px;
}

.form-group-login {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 25px;
    padding: 0 30px;
}

.form-group-login--password .label-float-input {
    padding-right: 44px;
}

.form-group-login--password .label-float-input:focus {
    padding-right: 40px;
}

.password-visibility-toggle {
    position: absolute;
    top: 50%;
    right: 40px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #6f767b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    transform: translateY(-50%);
    z-index: 1;
}

.password-visibility-toggle:hover,
.password-visibility-toggle:focus {
    color: #1a73e8;
    outline: 0;
}

.msg-login {
    padding: 0 30px;
    font-size: 14px;
    font-weight: 500;
    color: #e70000;
    font-style: normal;
    min-height: 40px;
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
}

.msg-login span {
    padding-top: 3px;
}

.msg-login i {
    font-size: 18px;
    margin-right: 5px;
}

#bar-btn-login {
    padding: 0 20px 30px 20px;
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
}

#bar-btn-login button {
    width: 100%;
}

