.transition, button, form .question label, form .question input[type="text"], form .question textarea {
  -moz-transition: all 0.25s cubic-bezier(0.53, 0.01, 0.35, 1.5);
  -o-transition: all 0.25s cubic-bezier(0.53, 0.01, 0.35, 1.5);
  -webkit-transition: all 0.25s cubic-bezier(0.53, 0.01, 0.35, 1.5);
  transition: all 0.25s cubic-bezier(0.53, 0.01, 0.35, 1.5);
}

form {
	font-weight: bold;
	-webkit-font-smoothing: antialiased;
	width: 500px;
	box-sizing: border-box;
	padding: 0px 0px;
	border-radius: 40px;
	position: absolute;
	margin: auto;
	top: 30em;
	left: 50%;
	-ms-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

button{
  margin-top: 15px;
  background-color: white;
  border: 2px solid #2c7587;
  line-height: 0;
  font-size: 19px;
  min-width: 150px;
  display: inline-block;
  box-sizing: border-box;
  padding: 20px 15px;
  border-radius: 25px;
  color: #000000;
  font-weight: 100;
  letter-spacing: 0.01em;
  position: relative;
  z-index: 1;
}
button:hover, button:focus {
  color: black;
  background-color: #92cddc;
}
form .question {
  position: relative;
  padding: 18px 0;
}
form .question:first-of-type {
  padding-top: 0;
}
form .question:last-of-type {
  padding-bottom: 0;
}
form .question label {
  transform-origin: left center;
  color: #000000;
  font-weight: 100;
  letter-spacing: 0.01em;
  font-size: 19px;
  box-sizing: border-box;
  padding: 10px 22px;
  display: block;
  position: absolute;
  margin-top: -82px;
  z-index: 2;
  pointer-events: none;
  border-radius: 25px;
}
form .question back{
  position: relative;
  transform: translate(-562px, 0px);
  padding: 10px 0;
}
form .question input[type="text"] {
  appearance: none;
  background-color: none;
  border: 2px solid #2c7587;
  line-height: 0;
  font-size: 17px;
  width: 100%;
  display: block;
  box-sizing: border-box;
  padding: 10px 15px;
  border-radius: 25px;
  color: #000000;
  font-weight: 100;
  letter-spacing: 0.01em;
  position: relative;
  z-index: 1;
}
form .question input[type="text"]:focus {
  outline: none;
  background: #92cddc;
  color: black;
}
form .question input[type="text"]:valid {

}
form .question input[type="text"]:focus ~ label {
	
}
form .question input[type="text"]:valid ~ label {

}
form .question textarea {
  resize: none;
  appearance: none;
  background-color: none;
  border: 2px solid #2c7587;
  font-size: 17px;
  width: 100%;
  display: block;
  box-sizing: border-box;
  padding: 10px 15px;
  border-radius: 25px;
  color: #000000;
  font-weight: 100;
  letter-spacing: 0.01em;
  position: relative;
  z-index: 1;
}
form .question textarea ~ label {
	top: 62px;

}
form .question textarea:focus {
  outline: none;
  background: #92cddc;
  color: black;
}
form .question textarea:valid {

}
form .question textarea:focus ~ label {

}