* {
    margin:0;
    padding:0;
    box-sizing: border-box;
}
@font-face {
    font-family: 'Lato';
    src: url('../../../webfonts/Lato/Lato-Regular.ttf') format('truetype');
}
body{
    font-family: Lato;
    min-height: 100vh;
    width: 100%;
    background: linear-gradient(45deg,#001F3F 35%,#c09300);
    color: #696969;
    flex-direction: column;
    display: flex;
}
nav{
    background-color: transparent;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
#img_brand{
    height: 100%;
}
#link_brand{
    display: flex;
    align-items: center;
    position: relative;
    color: #fff;
    text-decoration: none;
    height: 80%;
}
h1{
    font-size: 25px;
}
.nav_list{
    display: flex;
    list-style: none;
    font-size: 20px;
}
.nav_links{
    margin-right: 15px;
}
.nav_links a{
    color: #fff;
    text-decoration: none;
}
#info{
    display: inline-block;
    padding: 5px 0px 5px 0px;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}
#info:hover{
    color: #e0e0e0;
    border: solid #e0e0e0;
    border-width: 0px 0px 2px 0px;
}
main{
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
}
.side_page{
    margin: auto auto;
}
input[type='email'],
input[type='text'],
input[type='password'],
button{
    width: 100%;
    padding: 10px 24px;
    background: #e6e6e6;
    color: #696969;
    border: none;
    outline: none;
    font-size: 0.9em;
}
.input_alert{
    outline: 2px solid #EF5350 !important;
}
.remember_control{
    width: 100%;
    position: relative;
    margin-top: 10px;
}
input[type="checkbox"] {
    -webkit-appearance: checkbox;
       -moz-appearance: checkbox;
            appearance: checkbox;
    display: inline-block;
    width: auto;
}
.alert_container{
    background-color: #C62828;
    border: 2px solid #fff;
    margin-bottom: 20px;
    border-radius: 10px;
    padding: 20px;
    width: 100%;
    max-width: 320px;
    text-align: center;
}
.alert_text{
    color: #fff;
    text-align: center;
}
.alert_input{
    outline: 2px solid #C62828 !important;
}
.success_container{
    background-color: #5cb85c;
    border: 2px solid #fff;
    margin-bottom: 20px;
    border-radius: 10px;
    padding: 20px;
    width: 100%;
    max-width: 320px;
    text-align: center;
}
.success_text{
    color: #fff;
    text-align: center;
}
.success_input{
    outline: 2px solid #5cb85c !important;
}
.container{
    max-width: 320px;
    background-color: #fff;
    padding: 24px;
    padding-bottom: 12px;
    border-radius: 5px;
    box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    transition: opacity 0.5s linear, height 0.5s step-end;
}
.title{
    text-transform: uppercase;
    font-size: 1.2em;
    font-weight: bold;
    letter-spacing: 1px;
    padding: 4px 0;
    border-bottom: 2px solid #001F3F;
    margin-bottom: 20px;
}
.welcome_message{
    text-align: center;
    font-size: 0.9em;
    margin-bottom: 20px;
    color: #696969;
    line-height: 18px;
}
.form_control{
    width: 100%;
    position: relative;
    margin-bottom: 20px;
}
.form_control .fa-lock,.fa-envelope{
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    transition: color 0.3s;
}
.view{
    position: absolute;
    left: 230px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    transition: color 0.3s;
}
.view:hover{
    color: #001F3F;
    cursor: pointer;
}
.viewActive{
    color: #001F3F;
}
.form_control input{
    padding-left: 36px;
    letter-spacing: 0.5px;
    font-size: 1em;
}
.form_control input:focus~.fa-lock{
    color: #001F3F;
}
.form_control input:focus~.fa-envelope{
    color: #001F3F;
}
.form_control input:focus{
    animation: shadow 0.5s;
}
@keyframes shadow{
    0%,100%{
        box-shadow: none;
    }
    50%{
        box-shadow: 0 0 20px #001F3F;
    }
}
.forgot_password{
    position: absolute;
    right: 0px;
    top: 120%;
    font-size: 0.75em;
    cursor: pointer;
}
.forgot_password:hover{
    color: #001F3F;
}
.submit{
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 32px auto;
    cursor: pointer;
    color: #fff;
    background-image: linear-gradient(to right,#001F3F,#c09300,#001F3F);
    background-size: 300% 100%;
    transition: background-position 0.4s;
}
button.submit:hover{
    background-position: 100% 0;
}
button.submit_activate{
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 15px auto;
    cursor: pointer;
    color: #fff;
    background-image: linear-gradient(to right,#001F3F,#c09300,#001F3F);
    background-size: 300% 100%;
    transition: background-position 0.4s;
}
button.submit_activate:hover{
    background-position: 100% 0;
}
button.buttonActivateLoad{
    background-image: none;
    background-color: #696969;
    color: #000;
    cursor: wait;
}
button.buttonActivateError{
    background-image: none;
    background-color: #C62828;
    color: #fff;
    cursor: default;
}
button.buttonActivateSuccess{
    background-image: none;
    background-color: #5cb85c;
    color: #fff;
    cursor: default;
}
.buttonLoad{
    cursor: default;
    background: #ccc;
    color: #000;
    padding: 5px 0px;
    font-weight: bolder;
}
.buttonLoad:hover{
    background-color: #ccc;
}
.buttonSuccess{
    cursor: default;
    background: #5cb85c;
    color: #fff;
    padding: 5px 0px;
    font-weight: bolder;
}
.buttonSuccess:hover{
    background-color: #5cb85c;
}
.buttonError{
    cursor: default;
    background: #C62828;
    color: #fff;
    padding: 5px 10px;
    font-weight: bolder;
}
.buttonError:hover{
    background-color: #C62828;
}
#loadSvg{
    animation-name: spin;
    animation-duration: 1200ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}
.additional_action p{
    margin: auto;
    color: #696969;
    font-size: 0.9em;
    cursor: pointer;
    transition: color 0.3s;
}
.additional_action p:hover{
    color: #001F3F;
}
.modal_container{
    display: none;
}
.back{
    position: absolute;
    right: 0px;
    top: 120%;
    font-size: 0.75em;
    cursor: pointer;
}
.back:hover{
    color: #001F3F;
}
.hidden {
    opacity: 0;
    height: 0;
    transition-timing-function: linear, step-end;
}
@keyframes spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
}
@media (max-width: 854px) {
    h1{
        font-size: 20px;
    }
    .nav_list{
        font-size: 14px;
    }
    nav{
        margin: 0 0 50px 0;
    }
    main{
        flex-flow: column wrap; 
    }
    .side_page{
        margin: 0 0 50px 0;
    }
}