.form-item { margin-bottom: 5px; }

fieldset {
  border: none;
  display: block;
}

legend {
  display: table-cell;
 margin-bottom:.7rem;
  font-size: 1em;
}

fieldset label { display: block; margin:.8rem 0px;
}

/* UI styles ////////////////////////////////////////////////////////*/


.button {
  padding: 12px 25px;
  background: #2078A0;/*0aa3d5*/
  color: #fff!important;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 3em 0px;
  display: inline-block;
  border-radius: 2px;
}

.button:focus, .button:hover { background: #299ec4; }

/* Input styles ////////////////////////////////////////////////////*/


input[type="text"], input[type="date"], input[type="email"], textarea {
  box-sizing: border-box;
  padding: 0.6rem 1.2rem;
  border: 1px solid #ccc;
  display: block;
  width: 100%;
  font-size: 1em;
  margin-top: 5px;
}

textarea {
  resize: vertical;
  min-height: 150px;
  color:#000;
}

input[type="radio"] {
  box-sizing: border-box;
  height: 1em;
  width: 1em;
}

input[type="checkbox"] {
  box-sizing: border-box;
  height: 1em;
  width: 1em;
}

.select-wrapper { position: relative; }

.select-wrapper:after {
/*
  content: '';
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #333;
  top: 20px;
  left: 300px;
  position: absolute;
  */
}

select {
  display: block;
  border-radius: 0px;
  border-color: #ccc;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-overflow: ellipsis;
 padding: .6rem 1.2rem;
  background: transparent;
  position: relative;
  white-space: normal;
  min-width: 320px;
  margin: 1rem 0px;
}

input:not([type="radio"]):not([type="checkbox"]):focus, textarea:focus, select:focus {
  outline-offset: -2px;
  outline-style: solid;
  outline-width: 2px;
  outline-color: #2192d2;
}

.required fieldset legend:after, .required > label:after {
  content: '*';
  font-size: .9em;
  color: #ff0000;
  display: inline;
  margin-left: 10px;
}

/* Errors /////////////////////////////////////////////////////////*/

.input_checkbox {
  border: 1px solid #e50000;
  padding:5px;
  box-shadow: inset 0 -26px 0 red;
}

#error-summary {
  display: none;
  margin: 40px 0px;
  border: 1px solid #e50000;
}

#error-summary ul {
 padding:.5rem;
 margin:.5rem;
  list-style: none;
  color: #1a1712;
}

#error-summary h3, .error-message {
  background: #e50000;
  color: #fff!important;
 padding:.2rem .8rem;
  display: block;
  border: 1px solid #e50000;
  margin-top: 0px;
}

.error-message { box-sizing: border-box; }

#error-summary h3 { padding-left: 40px; }

#error-summary h3:before {
  content: '!';
  background: #fff;
  height: 1em;
  width: 1em;
  border-radius: 9px;
  display: inline-block;
  color: #e50000;
  margin-right: 10px;
  margin-top: 2px;
  margin-left: -30px;
  line-height: 1em;
  text-align: center;
}

fieldset[aria-invalid="true"] {
  border: 1px solid #e50000;
  padding: 10px 10px 0px 10px;
}

fieldset[aria-invalid="true"] span.error-message {
  margin-left: -10px;
  margin-right: -10px;
}

select + span.error-message { max-width: 320px; }

textarea[aria-invalid="true"], input[type="text"][aria-invalid="true"], select[aria-invalid="true"] { border: 1px solid #e50000; }

select[aria-invalid="true"] { margin-bottom: 0px; }

textarea[aria-invalid="true"]:focus, input[type="text"][aria-invalid="true"]:focus, select[aria-invalid="true"]:focus {
  outline-offset: -2px;
  outline-style: solid;
  outline-width: 2px;
  outline-color: #e50000;
}

/* Media Queries //////////////////////////////////////////////////*/
@media screen and (min-width:450px) {

fieldset label {
  display: inline-block;
  margin-left: 20px;
}
}
