* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}



body {
 background-color: black;
 font-family: sans-serif;
}



.login-box {
 width: 400px;
 margin: 100px auto;
 background: rgba(0, 0, 0, 0.8);
 padding: 40px;
 border-radius: 10px;
 color: #fff;
 text-align: center;
}



.login-box h2 {
 margin-bottom: 30px;
}



.user-box {
 position: relative;
}



.user-box input {
 width: 100%;
 padding: 10px 0;
 font-size: 16px;
 color: #fff;
 border: none;
 border-bottom: 1px solid #fff;
 outline: none;
 background: transparent;
}



.user-box label {
 position: absolute;
 top: 0;
 left: 0;
 padding: 10px 0;
 font-size: 16px;
 color: #fff;
 pointer-events: none;
 transition: 0.5s;
}



.user-box input:focus ~ label,
.user-box input:valid ~ label {
 top: -20px;
 left: 0;
 color: #03a9f4;
 font-size: 12px;
}



a {
 display: inline-block;
 margin-top: 20px;
 padding: 10px 30px;
 color: #fff;
 border: 2px solid #fff;
 text-decoration: none;
 transition: 0.5s;
 position: relative;
 overflow: hidden;
}



a:hover {
 background: #fff;
 color: #000;
}



a:hover span {
 width: 100%;
}



a span {
 position: absolute;
 display: block;
 height: 100%;
 width: 0;
 top: 0;
 left: 0;
 background: #fff;
 transition: 0.5s;
}