// sass-lint:disable no-qualifying-elements, force-attribute-nesting, force-element-nesting, force-pseudo-nesting

.has-success {
  @include form-control-validation($color-chewing-grass, $color-chewing-grass, $state-success-bg);
}

.has-warning {
  @include form-control-validation($color-lemons, $color-lemons, $state-warning-bg);
}

.has-error {
  @include form-control-validation($color-copenhagen-red, $color-copenhagen-red, $state-danger-bg);
}

.control-label {
  color: $color-gray-1000;

  .has-success &,
  .has-warning &,
  .has-error & {
    color: $color-gray-1000;
  }
}

label {
  color: $color-gray-1000;
  font-weight: $semi-bold;
  margin-bottom: 8px;
}
/*
.radio,
.checkbox {
  display: block;
  margin-bottom: 10px;
  margin-top: 10px;
  position: relative;

  label {
    color: $color-gray-1000;
    cursor: pointer;
    font-weight: $semi-bold;
    margin-bottom: 0;
    min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text
    padding-left: 20px;
  }
}

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  margin-left: -20px;
  margin-top: 4px;
  position: absolute;

  .form-inline & {
    margin-right: 5px;
  }
}

@media (min-width: 768px) {
  .form-inline
  .form-control,
  .checkbox,
  .radio {
    margin-right: 10px;
  }
}

[type="checkbox"]:not(:checked),
[type="checkbox"]:checked,
[type="radio"]:not(:checked),
[type="radio"]:checked {
  opacity: 0;
  z-index: -1;
}

[type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label,
[type="radio"]:not(:checked) + label,
[type="radio"]:checked + label {
  cursor: pointer;
  padding-left: 1.95em;
  position: relative;
}

[type="checkbox"]:not(:checked) + label:before,
[type="checkbox"]:checked + label:before {
  background: transparent;
  border: 1px solid $color-gray-3000;
  border-radius: 4px;
  content: "";
  height: 1.25em;
  left: 0;
  position: absolute;
  top: 0;
  width: 1.25em;
}

[type="radio"]:not(:checked) + label:before,
[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:after,
[type="radio"]:checked + label:after {
  background: transparent;
  border-radius: 50%;
  content: "";
  height: 1.25em;
  left: 0;
  position: absolute;
  top: 0;
  width: 1.25em;
}

[type="radio"]:not(:checked) + label:after,
[type="radio"]:checked + label:after {
  border: 1px solid $color-gray-3000;
}

[type="checkbox"]:checked + label:before {
  background: $color-feel-good-blue;
  border: 1px solid $color-feel-good-blue;
}

[type="radio"]:checked + label:before {
  background: $color-white;
  border: 5px solid $color-feel-good-blue;
}


[type="radio"]:disabled + label:after {
  border: 1px solid $color-gray-5000;
}

[type="radio"]:disabled:checked + label:before {
  background: $color-gray-3000;
  border: 5px solid $color-gray-6000;
}


[type="checkbox"]:not(:checked) + label:after,
[type="checkbox"]:checked + label:after {
  color: $color-white;
  content: "\f00c";
  font-family: "FontAwesome";
  font-size: 1em;
  left: 2px;
  line-height: 0.5;
  position: absolute;
  top: 6px;
  transition: all 0.2s;
}

[type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}

[type="checkbox"]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}

[type="checkbox"]:disabled:not(:checked) + label:before,
[type="checkbox"]:disabled:checked + label:before {
  background-color: $color-gray-4000;
  border-color: $color-gray-4000;
}

[type="checkbox"]:disabled:checked + label:after {
  color: $color-gray-3000;
}

[type="checkbox"]:disabled + label {
  color: $color-gray-3000;
}


// accessibility
[type="checkbox"]:checked:focus + label:before,
[type="checkbox"]:not(:checked):focus + label:before {
  border: 1px solid $color-feel-good-blue;
}

[type="radio"]:checked:focus + label:after,
[type="radio"]:not(:checked):focus + label:after {
  background: transparent;
  border: 1px solid $color-feel-good-blue;
}

[type="checkbox"] + label:hover:before {
  border: 1px solid $color-feel-good-blue !important; // sass-lint:disable-line no-important
}

[type="radio"] + label:hover:after {
  border: 1px solid $color-feel-good-blue !important; // sass-lint:disable-line no-important
}
*/
