body{
    margin:0;
    height:100vh;
    width:100vw;
    overflow:hidden;
    display:flex;
    align-items: center;
    color:#485563;
    justify-content: center;
    background-size: cover;
}
.main{
    width:400px;
    padding:10px 25px 35px 35px;
    border-radius: 20px;
    font-family: sans-serif;
    font-weight: 700;
    background: white !important;
}
.title{
    text-align: center;
    font-size: 40px;
    color:#555;
    letter-spacing: .5px;
    font-family: gotham;
    margin-bottom: 20px;
}
.credentials{
    width:100%;
    padding:2px 5px 9px 5px;
}
.credentials input{
    border: none;
    outline: none;
    background:none;
    font-size: 16px;
    color:#555;
    padding: 20px 10px 20px 39px;
    letter-spacing: 1px;
    /* position: absolute; */
    top: -53px;
}
.username,.password,.email{
    border-bottom: 2px solid #c2c4c3;
    transition: .5s ease;
}
.username,.email{
    margin-bottom: 20px;
}
.username:hover,.password:hover{
    border-bottom: 3px solid #485563;
}
.password{
    /* position:relative; */
    margin-bottom: 30px;
}
.password span{ 
    /* position: absolute; */
    top: -33px;
}
.submit{
    outline:none;
    border:none;
    width:100%;
    height:50px;
    border-radius: 30px;
    color:#fff;
    font-size:20px;
    font-weight: 700;
    text-align: center;
    background-image: linear-gradient(to right,#485563 0%,#29323c 51%,#485563 100%);
    background-size:200%;
    box-shadow: 1px 1px 2px #b1b1b1,
                -1px -1px 2px #fff;
    transition: .5s;    
}
.link{
    margin:10px;
    text-align: center;
}
.link a{
    font-size:15px;
    color:#555;
    text-decoration: none;
}

@media screen and (max-width:576px){
    .main{
        width:auto;
    }
    .link a{
        color:#3dbcd0;
    }
}
/* override invalid feedback style */
.invalid-feedback{
    display: block;
    color: #b42f21;
}
.error{
    color: #dc3545;
    font-size: 80%;
    /* position: absolute; */
    top: 11px;
   
}
