.form {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 400px;
  padding: 40px;
  transform: translate(-50%, -50%);
  background: rgba(24, 20, 20, 0.987);
  box-sizing: border-box;
  box-shadow: 0 15px 25px rgba(0,0,0,.6);
  border-radius: 10px;
}

.form .user-box {
  position: relative;
}

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

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

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

.form form button {
  position: relative;
  background-color:rgba(24, 20, 20, 0.987);;
  display: inline-block;
  border-color:rgba(24, 20, 20, 0.987); ;
  padding: 10px 20px;
  color: #ffffff;
  font-size: 16px;
  text-decoration: none;
  text-transform: uppercase;
  overflow: hidden;
  transition: .5s;
  margin-top: 40px;
  letter-spacing: 4px;
  
}

.form button:hover {
  background: #f4032b9d;
  color: #000000;
  border-radius: 5px;
  box-shadow: 0 0 5px #f4039873,
              0 0 25px #f4035f96,
              0 0 50px #f4032b,
              0 0 100px #f4034b;
}

.form button span  {
  position: absolute;
  display: block;
}

@keyframes btn-anim1 {
  0% {
    left: -100%;
  }

  50%,100% {
    left: 100%;
  }
}

.form button span:nth-child(1) {
  bottom: 2px;
  left: -100%;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #f40353);
  animation: btn-anim1 2s linear infinite;
}