form {
  width: 35%;
  margin: 50px auto;
  padding: 20px;
  position: relative;
}
form input, form textarea {
  background: transparent;
  border: none;
  color: #555;
  font-family: "Roboto", sans-serif;
  width: 80%;
  margin: 10px auto;
  display: block;
  resize: none;
  padding: 5px 0 0 0;
  border-bottom: 1px solid #bbb;
  box-shadow: none;
  outline: none;
}
form input {
  font-size: 15px;
}
form textarea {
  height: 150px;
}
form .line {
  height: 2px;
  border-radius: 3px;
  background: #006fff;
  display: block;
  width: 0;
  margin: auto;
  position: relative;
  top: -28px;
  transition: 0.25s ease;
}
form label {
  position: relative;
  left: 10%;
  transition: 0.25s ease;
  color: #555;
  cursor: pointer;
}
form label[for="title"] {
  top: -30px;
}
form label[for="msg"] {
  top: -155px;
}
form input:focus + label, form input:valid + label {
  top: -48px;
}
form input:focus + label, form textarea:focus + label, form input:valid + label, form textarea:valid + label {
  font-size: 12px;
  color: #006fff;
}
form input:focus ~ .line, textarea:focus ~ .line {
  width: 80%;
}
form textarea:focus + label, form textarea:valid + label {
  top: -175px;
}
form button[type="submit"] {
  margin: auto;
  display: block;
}
/*Dark styling*/
body.dark form input, body.dark form textarea {
  color: #eee;
  border-bottom: 1px solid #444;
}
body.dark form label {
  color: #999;
}
