@import url('https://fonts.googleapis.com/css?family=Rajdhani:500,700&display=swap');

:root{
    --purple:#615dfa;
    --dark:#3e3f5e;
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family:'Rajdhani',sans-serif;
    background:#efefef;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:100vh;
    padding:20px;
}

.contact-wrapper{
    background:#fff;
    box-shadow:3px 3px 10px rgba(0,0,0,.15);
    border-radius:12px;
    padding:30px;
    width:100%;
    max-width:420px;
}

.logo{
    display:flex;
    justify-content:center;
    margin-bottom:10px;
}

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

.login-cta h2{
    text-align:center;
    color:var(--dark);
}

form{
    margin-top:20px;
}

.form-row{
    position:relative;
    margin-bottom:20px;
}

.form-row input, .form-row select{
    width:100%;
    padding:14px 12px;
    border-radius:8px;
    border:1px solid #ddd;
    font-weight:bold;
    font-family:inherit;
}

.form-row .error {
    margin-top:5px;
    color: red;
    font-size: 14px;
}

.form-row span{
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    background:#fff;
    padding:0 5px;
    color:#999;
    transition:0.3s;
    pointer-events:none;
}

.form-row input:focus + span,
.form-row input:valid + span{
    top:-8px;
    font-size:12px;
}

.form-row input:focus{
    border-color:var(--purple);
    outline:none;
}

button{
    width:100%;
    padding:14px;
    border-radius:8px;
    border:none;
    background:black;
    color:#fff;
    font-weight:bold;
    cursor:pointer;
    margin-top:10px;
    transition:.3s;
}

button:hover{
    background:var(--purple);
}

.frg{
    text-align:right;
    margin-bottom:10px;
}

.frg a{
    text-decoration:none;
    color:black;
    font-size:14px;
}

.frg a:hover{
    color:var(--purple);
}

/* MOBILE */
@media (max-width:480px){

.contact-wrapper{
    padding:25px 20px;
}

.logo img{
    width:120px;
}

button{
    padding:12px;
}

}