body {
    margin: 0 auto;
    overflow-x: hidden;
    font-family: 'Source Code Pro', monospace;
    /*background-color: #111;*/
    background: linear-gradient(160deg, #111111 0%, #0f1a24 50%, #111111 100%);
}

:root {
    --color-secondary: #32959a;    
    --weight-strong: 600;
    --weight-bold: 700;
    --hover-duration: 0.3s;
    --index-modal: 4;
    
    --color-primary: #03877c;
    --color-green-dark: #024d46;
    --color-green-dark-2: #015c55;
    --color-green-light: #03877c;
    --color-green-contrast: #05b59d;    
}

.btn-success {
    background-color: var(--color-primary) !important;
    color: #fff;
    border-color: var(--color-primary) !important;
}

.btn-success:hover {
    background-color: var(--color-green-contrast) !important;
    border-color: var(--color-green-contrast) !important;
    color: #fff !important;
}

/*CONTENT*/
.login-content {
    padding: 20px;
    margin: 20px 0;
    border: 0px solid #ced4da;
    border-radius: 5px;
    background-color: #fff;
}

.login-content p { 
    margin: 0 !important;
    font-family: var(--font-paragraph) !important;    
    font-size: 15px;
    color: #333;
    text-align: center;
}

.login-content a {  
    font-size: 14px;
    color: var(--color-green-contrast);
    text-align: center;
}

.login-logo {
    text-align: center !important;
    margin: 20px auto !important;
    padding: 0 !important;
    width: 200px;
}

.login-logo img {
    text-align: center !important;
    margin: 0 auto !important;
}

.login-content h2 {
    text-align: center;
    font-weight: 800;
    color: var(--color-primary) !important;
}

.box-button {
    margin-top: 15px;
}

.btn-success {
    color: #fff;
    padding: 12px 0;
    text-transform: uppercase;
}

.btn-primary:focus {
     outline: none !important; 
     box-shadow: none !important;
}

/*FORM*/
form {
    margin-top: 30px;
}

form input, 
form select {
    margin-bottom: 10px;
    border-width: 1px !important;
    color: #666 !important;
    font-size: 0.9rem !important; 
    height: 46px;
}

.text-right {
    text-align: right !important;
}

form label,
form .form-select {
    color: #666 !important;
    font-size: 0.9rem !important;
}

form input[type=text]:focus,
form input[type=email]:focus,
form input[type=password]:focus,
form select:focus {
    outline: none !important; 
    box-shadow: 0 0 5px var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
    transition: 0.5s;
    background-color: #fff !important;
}

/*BUTTON SENHA FORM*/
.icon::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

.input-password {
    position: relative;
}

.btn-password {
    color: #999;
    cursor: pointer;
    position: absolute;
    top: 30px;
    right: 1px;
    background-color: transparent;
    width: 45px;
    height: 33px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-password:before {
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    content: "\f070";
 }
 
.active.btn-password:before {
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    content: "\f06e"; 
}
 
 .btn-password:focus {
    outline: none !important; 
    box-shadow: none;    
}

/*ICONS NORMALIZE*/
[class^="icon-"]:before,
[class*=" icon-"]:before {
    position: relative !important;
    top: .125em !Important;
    margin-right: .4em !Important;
}

.icon-notext:before {
    top: 0;
    margin-right: 0 !important;;
}

/*ALERT*/
.alert-info {
    background: rgba(3, 135, 124, 0.1) !important;
    color: #03877c !important;
    border: 0 !important;
}

/*FOOTER*/
footer  {
    margin: 20px 0;
    font-size: var(--font-min);
    text-align: center;
}

footer a {
    color: var(--color-green-contrast);
}

/*MESSAGE*/
.message {
    display: block;
    margin-bottom: 20px;
    padding: 15px;
    text-align: center;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    border: 1px solid #cccccc;
    font-weight: 500;
    background-color: #f9f9f9;
    font-size: 0.8rem;
}

.message.success {
    color: #ffffff;
    border-color: var(--bs-success);
    background-color: var(--bs-success);
}

.message.info {
    color: #ffffff;
    border-color: var(--bs-info);
    background-color: var(--bs-info);
}

.message.warning {
    color: #ffffff;
    border-color: var(--bs-warning);
    background-color: var(--bs-warning);
}

.message.error {
    color: #ffffff;
    border-color: var(--bs-danger);
    background-color: var(--bs-danger);
}