form {
  position: relative;
  vertical-align: middle;
}
fieldset {
  clear: both;
  border: none;
  margin: 0;
  word-break: break-word;
  word-wrap: break-word;
  & > label {
    @include for-size(tablet-landscape-up) {
      display: inline-block;
      width: 25%;
    }
  }
  span {
    display: block;
    font-size: $font-small;
  }
}
label {
  font-size: $font-small;
  padding: 0 .5em 0 0;
  vertical-align: middle;
  word-break: break-word;
  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 $color-pink-bright ;
  color: $color-pink-bright;
  font-size: $font-small;
  padding: 13px;
  margin: $spacer-small 0;
  width: 100%;
  &:focus, &:active, &:visited {
    outline: none;
  }
}
textarea {
  background-color: $color-gray-light;
  border: 2px $color-pink-bright solid;
  margin: 0 auto;
  padding: 1em;
  width: 100%;
}
select {
  height: 45px;
  appearance: none;
  border-radius: 0;
  outline: none;
  text-transform: capitalize;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
select[value="value"] {
  font-size: $font-x-medium;
  text-transform: capitalize;
}

#id_date_of_birth_month,
#id_date_of_birth_day,
#id_date_of_birth_year {
  margin: $spacer-small 0;
  @include for-size(tablet-landscape-up) {
    display: inline-block;
    margin: 0 $spacer-small;
    width: 20%;
  }
 @include for-size(desktop-up) {
   width: 23%;
 }
 @media (max-width: 65.313em) and (min-width: 64.000em) {
    width: 22%;
 }
}
#id_date_of_birth_year  {
  @include for-size(desktop-up) {
    margin: 0;
  }
}

[type="button"],
[type="reset"],
[type="submit"],
button {
  color: #fff;
  border: none;
  cursor: pointer;
  word-break: break-all;
  word-wrap: break-word;
  white-space: normal;
  vertical-align: top;
}
input[type="search"] {
  width: 100%;
  appearance: none;
}

[type="checkbox"],
[type="radio"] {
  margin: 0;
  opacity: 0.9;
  visibility: hidden;
  position: absolute;
  & ~ label {
    background-color: transparent;
    cursor: pointer;
    position: relative;
    padding: 0;
    margin: 0;
    width: 100%;
    &:before {
      background-color: #fff;
      content: " ";
      border: 2px solid $color-pink-bright;
      opacity: 0.9;
      display: inline-block;
      width: 25px;
      height: 25px;
      vertical-align: middle;
      margin-right: $spacer-half;
    }
  }
}
[type="checkbox"] {
  &:checked + label:before {
    background: $color-cyan_shade1 url('/static/img/icons/ninyampinga/iconsSprite.png') 5px 12.5%/90px no-repeat;
    opacity: 1;
  }
}
[type="radio"] {
  & ~ label:before {
    border-radius: 50%;
  }
  &:checked + label:before {
    background: $color-cyan_shade1 url('/static/img/icons/ninyampinga/iconsSprite.png')3px 8% /90px no-repeat;
    opacity: 1;
  }
}
.input-hint {
  font-size: $font-small;
  font-style: italic;
  display: block;
}
.choice-group {
  padding: $spacer-small 0;
}
.input-group {
  .helptext {
    font-size: $font-x-small;
    margin: 0;
    font-style: italic;
    display: block;
  }
  span {
    display: block;
    font-size: $font-x-small;
    opacity: 0.6;
  }
}
.error-list,
.errorlist {
  display: block;
  padding: 0;
  color: $color-red;
  list-style-type: none;
  &__item {
    color: $color-red;
    text-align: left;
    padding: 0 1em;
  }
}
.error {
  color: $color-red;
  text-align: left;
  padding: 0 1em;
}
