form {
  border: none;
  padding: 5px;
}

.group {
  width: 350px;
  max-width: 95%;
  position: relative;
  margin: 25px auto;
}

.group_not_resized {
  position: relative;
  margin: 25px auto;
}

textarea {
  resize: none;
}

.input{
  background: white;
  color: #424242;
  font-size: 18px;
  padding: 10px 10px 10px 5px;
  display: block;
  width: 100%;
  border: none;
  border-bottom: 2px solid orange;
}

.fancy_textarea {
  border: 1px solid orange;
  border-bottom: 2px solid orange;
  width:100%;
  color: black;
  font-size: 14px;
}

.input:focus{
  outline: none;
}

.input:focus ~ label, .input:not(:placeholder-shown) ~label {
  top: -14px;
  font-size: 12px;
  color: orange;
}

.input:focus ~ .bar:before {
  width: 100%;
}

input[type="password"] {
  letter-spacing: 0.3em;
}

input[type="text"] + label, input[type="password"] + label, textarea + label {
  color: #424242;
  font-size: 16px;
  font-weight: normal;
  position: absolute;
  pointer-events: none;
  left: 5px;
  top: 10px;
  transition: 300ms ease all;
  -webkit-transition: 300ms ease all;
}

.valid_icon {
  position: absolute;
  right: 5px;
  top: 5px;
  height: 30px;
  width: 30px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
  display: none;
}

.invalid {
  background-image: url('../images/form/invalid.png');
}

.correct {
  background-image: url('../images/form/correct.png');
}

.bar {
  position: relative;
  display: block;
  width: 100%;
}

.bar:before {
  content: '';
  height: 4px;
  width: 0;
  bottom: 0px;
  position: absolute;
  background: #e7a126;
  transition: 300ms ease all;
  -webkit-transition: 300ms ease all;
  left: 0%;
  }

button[type="submit"] {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  background-color: #e7a126;
  color: white;
  border: none;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  margin: 5px auto;
}

button[type="submit"]:hover {
  cursor: pointer;
}

.tooltip {
  font-size: 11px;
  /*color: #e7a126;*/
}
