form {
  position: relative;
  overflow: auto;
  vertical-align: middle;
}
fieldset {
  clear: both;
  border: none;
  margin: 0;
  word-wrap: break-word;
}
label {
  font-size: $font-x-medium;
  vertical-align: middle;
  word-wrap: break-word;
}
input[type="text"],
input[type="number"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="week"],
input[type="date"],
input[type="month"],
input[type="datetime"],
input[type="datetime-local"],
input[type="url"],
select {
  background-color: #ffffff;
  border: 2px solid #000;
  color: #000;
  padding: $spacer-half;
  margin: $spacer-small 0;
  width: 100%;
  &:focus, &:active, &:visited {
    outline: none;
  }
}
input[type="search"] {
  border:1px solid #000;
  color: #000;
  vertical-align: middle;
  @include for-size(tablet-portrait-up) {
    width: 90%;
  }
}
[type="checkbox"],
[type="radio"] {
  margin: 0;
  opacity: 0.9;
  visibility: hidden;
  position: absolute;
  & ~ label {
    background: #fff;
    cursor: pointer;
    position: relative;
    padding: 10px;
    margin: 0;
    width: 100%;
    &:before {
      background: #fff;
      border: 3px solid #000;
      content: " ";
      opacity: 0.9;
      display: inline-block;
      width: 25px;
      height: 25px;
      vertical-align: middle;
      margin-right: $spacer-half;
    }
  }
}

[type="checkbox"] {
  &:checked + label:before {
    background: url('/static/img/icons/yegna/icon-check.png') center center/80% no-repeat;
    opacity: 1;
  }
}
[type="radio"] {
  & ~ label:before {
    border-radius: 50%;
  }
  &:checked + label:before {
    background: #000 url('/static/img/icons/yegna/icon-oval.png') center center/50% no-repeat;
    opacity: 1;
  }
}

textarea {
  background: #fff;
  border: 2px solid #000;
  margin: 0 auto;
  padding: 1em;
  width: 100%;
}
select {
  height: 45px;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  border-radius: 0;
  outline: none;
  text-transform: capitalize;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  background: #fafafa url("/static/img/icons/yegna/icon-dropdown.svg") 98% 50%/20px no-repeat;
  padding: 10px 30px 10px 5px;
  &:focus,
  &:visited,
  &:active {
      outline: none;
  }
}

select[value="value"] {
  font-size: $font-x-medium;
  text-transform: capitalize;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
  background: #000;
  color: #fff;
  border: none;
  cursor: pointer;
  word-break: break-all;
  word-wrap: break-word;
  white-space: normal;
  vertical-align: middle;
  padding: 0.7em 0.5em;
  text-decoration: none;
  display: block;
  width: 100%;
  @media screen and (min-width: 20.000em) {
    display: inline-block;
    width: auto;
  }

}

//TEMPLATE SPECIFIC
.input-hint {
  font-size: $font-small;
  font-style: italic;
  display: block;
}

.choice-group {
  padding: $spacer-small 0;
}

.input-group .helptext,
.helptext {
  color: $color-gray;
  font-size: $font-x-small;
  font-style: italic;
  margin: 0;
  display: block;
}
.input-group span {
  display: block;
  font-size: $font-x-small;
}

.error-list,
.errorlist {
  display: block;
  padding: 0;
  color: $color-light-red;
  list-style-type: none;
  margin: 0;
  &__item {
    color: $color-light-red;
    text-align: left;
    padding: 0 1em;
  }
}
.error {
  color: $color-light-red;
  text-align: left;
  padding: 0 1em;
  margin: 0;
}
