#subscribe-form {
  position: relative;
  margin-top: 33px;
}
#subscribe-form label {
  display: inline-block;
  position: relative;
  width: 310px;
  outline: none;
  background: #fff;
  box-sizing: border-box;
  height: 50px;
  line-height: 30px;
  font-size: 15px;
  border-radius: 3px;
}
#subscribe-form label input {
  display: block;
  background: transparent;
  padding: 10px 5px 10px 22px;
  width: 100%;
  color: #777;
  outline: none;
  border: none;
  overflow: hidden;
  margin: 0;
  -webkit-appearance: none;
  box-sizing: border-box;
  height: 100%;
}
#subscribe-form label + label {
  margin-left: 30px;
}
@media (max-width: 767px) {
  #subscribe-form label {
    display: block;
  }
  #subscribe-form label + label {
    margin: 15px 0 0;
  }
}
@media (max-width: 479px) {
  #subscribe-form label {
    width: 100%;
  }
}
#subscribe-form .error {
  position: absolute;
  right: 5px;
  font-size: 10px;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
#subscribe-form .error {
  top: 0;
}
#subscribe-form .success {
  position: absolute;
  letter-spacing: normal;
  left: 0;
  bottom: 60px;
}
#subscribe-form .error {
  color: #d50c21;
  letter-spacing: normal;
  overflow: hidden;
  height: 0px;
}
#subscribe-form .success {
  display: none;
  color: #000;
}
#subscribe-form label.invalid .error {
  height: 21px;
}
