/* reset webkit search input styles */
input[type="search"] {
  -webkit-appearance: none;
  outline: none; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  display: none; }

/* field errors */
.error {
  background: #faeda2;
  border: none;
  padding: 10px;
  border-radius: 5px;
  color: #b91701; }

.errorlist {
  padding: 0px;
  list-style: none;
  margin: 0px; }
  .errorlist > li {
    background: none;
    border: none;
    font-style: italic;
    color: #bd3434;
    margin: 5px 0px; }

form {
  /* fieldset defaults */
  /* top level inputs */ }
  form fieldset {
    padding: 25px;
    border-radius: 3px;
    border: 1px solid #BBBBBB; }
  form ul {
    list-style: none;
    padding: 0;
    margin: 0;
    /* second level inputs */ }
    form ul ul li {
      clear: none;
      margin: 0 0 5px 0; }
  form li {
    clear: left;
    margin: 0 0 20px 0; }

/* labels */
label {
  display: block;
  margin: 0 0 10px 0;
  color: #333333; }

/* inputs and textareas */
input,
textarea {
  border-radius: 3px; }

/* be specific so as to not affect checboxes/radios */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
textarea {
  border: 1px solid #bbbbbb;
  padding: 1%;
  width: 98%; }
  input[type="text"]:focus,
  input[type="password"]:focus,
  input[type="email"]:focus,
  input[type="number"]:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #98C6F2;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) inset, 0 0 6px rgba(54, 137, 219, 0.4);
    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) inset, 0 0 6px rgba(54, 137, 219, 0.4);
    -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) inset, 0 0 6px rgba(54, 137, 219, 0.4);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) inset, 0 0 6px rgba(54, 137, 219, 0.4); }

/* the submit button */
input[type="submit"] {
  border: none; }

/* appoinment form */
form#appointment-form li.twocol {
  clear: none; }
  form#appointment-form li.twocol .quadrat-2col {
    float: left;
    width: 49%;
    margin-right: 2%;
    margin-bottom: 2%;
    padding: 0%; }
    form#appointment-form li.twocol .quadrat-2col.last, form#appointment-form li.twocol .quadrat-2col:nth-of-type(2n+2) {
      margin-right: 0; }
  form#appointment-form li.twocol input {
    padding: 2%;
    width: 94%; }

form#appointment-form li.preferred-contact li,
form#appointment-form li.appointment-time li {
  width: auto;
  float: left;
  margin-right: 20px;
  margin-bottom: 0; }
  form#appointment-form li.preferred-contact li label,
  form#appointment-form li.appointment-time li label {
    margin-bottom: 0; }

form#appointment-form input[type="submit"] {
  float: right; }
