input:-webkit-autofill {
  box-shadow: 0 0 0px 1000px lightyellow inset;
}
input:focus:-webkit-autofill {
  box-shadow: 0 0 0px 1000px lightyellow inset;
}
input.validate:focus:valid:-webkit-autofill {
  box-shadow: 0 0 0px 1000px lightyellow inset;
}
input.validate:focus:invalid:-webkit-autofill {
  box-shadow: 0 0 0px 1000px #ff00002e inset;
  border-color: #ff0000 !important;
}
input.validate:invalid:-webkit-autofill {
  box-shadow: 0 0 0px 1000px #ff00002e inset;
  border-color: #ff0000 !important;
}
input.validate:focus:invalid {
  background: #ff00002e !important;
  border-color: #ff0000 !important;
}
input.validate:invalid {
  background: #ff00002e !important;
  border-color: #ff0000 !important;
}
select.validate:focus:invalid {
  background: #ff00002e !important;
  border-color: #ff0000 !important;
}
select.validate:invalid {
  background: #ff00002e !important;
  border-color: #ff0000 !important;
}
textarea.validate:focus:invalid {
  background: #ff00002e !important;
  border-color: #ff0000 !important;
}
textarea.validate:invalid {
  background: #ff00002e !important;
  border-color: #ff0000 !important;
}
p.error {
  display : block !important;
}
p.error_popup {
  position : absolute;
  display : none;
  margin-top: -10px;
  padding : 0.5em 1em;
  background-color : #f66;
  border : 1px solid #f00;
  color : #fff;
  border-radius : 5px;
  min-height : 1em;
  font-size : 1.2em;
  z-index: 3 !important;
}
img.error {
  display : block !important;
}
img.error_icon {
  margin-left: 5px;
  position : absolute;
  display : none;
  width : 14px;
  height: 14px;
  z-index: 3 !important;
}
