@include override-prose {

.usa-input-list {
  @include add-list-reset;

  li {
    line-height: line-height(
      $theme-form-font-family,
      $theme-input-line-height
    );
  }
}

}

.usa-checkbox__input, .usa-radio__input {

// The actual input element is only visible to screen readers, because
// all visual styling is done via the label.
@include sr-only();

.lt-ie9 & {
  border: 0;
  float: left;
  margin: units(0.5) units(0.5) 0 0;
  position: static;
  width: auto;
}

}

.usa-checkbox__label, .usa-radio__label {

cursor: pointer;
display: inherit;
font-weight: font-weight("normal");
margin-top: units(1.5);
padding-left: units($input-select-margin-right + $theme-input-select-size);
position: relative;
text-indent: units(-$input-select-margin-right - $theme-input-select-size);

}

.usa-checkbox__label::before, .usa-radio__label::before {

background: color("white");
content: "\a0";
display: inline-block;
left: units($theme-input-select-border-width);
position: relative;
vertical-align: middle\0; // Target IE 11 and below to vertically center inputs

}

.usa-checkbox__label::before {

@include u-square($theme-input-select-size);
border-radius: radius($theme-checkbox-border-radius);

}

.usa-radio__label::before {

@include u-circle($theme-input-select-size);

}

.usa-checkbox__label::before, .usa-radio__label::before {

box-shadow: 0 0 0 units($theme-input-select-border-width) color("base");
line-height: units($theme-input-select-size);
margin-right: units($input-select-margin-right);
text-indent: 0;

}

.usa-checkbox__input:checked + .usa-checkbox__label::before, .usa-radio__input:checked + .usa-radio__label::before {

background-color: color("primary");
box-shadow: 0 0 0 units($theme-input-select-border-width) color("primary");

}

.usa-radio__input:checked + .usa-radio__label::before {

box-shadow: 0 0 0 units($theme-input-select-border-width) color("primary"),
  inset 0 0 0 units($theme-input-select-border-width) color("white");

@media print {
  box-shadow: inset 0 0 0 units($theme-input-select-border-width)
      color("white"),
    inset 0 0 0 units(2) color("primary"),
    0 0 0 units($theme-input-select-border-width) color("primary");
}

}

.usa-checkbox__input:checked + .usa-checkbox__label::before, .usa-checkbox__input:checked:disabled + .usa-checkbox__label::before {

@include add-background-svg("correct8");
background-position: center center;
background-size: units(1.5) auto;

@media print {
  background-image: none;
  background-color: color("white");
  content: url("#{$theme-image-path}/checkbox-check-print.svg");
  text-indent: 0;
}

}

.usa-radio__input:focus + .usa-radio__label::before {

@include focus-outline(null, null, null, 0.5);

}

.usa-checkbox__input:disabled + .usa-checkbox__label, .usa-radio__input:disabled + .usa-radio__label {

color: color("disabled");
cursor: not-allowed;

}

.usa-checkbox__input:focus + .usa-checkbox__label::before {

@include focus-outline;

}

.usa-checkbox__input:disabled + .usa-checkbox__label::before, .usa-radio__input:disabled + .usa-radio__label::before {

background: color("disabled-light");
box-shadow: 0 0 0 units($theme-input-select-border-width) color("disabled");
cursor: not-allowed;

}

// Checkboxes and radios with tap-friendly targets .usa-checkbox__input–tile + .usa-checkbox__label, .usa-radio__input–tile + .usa-radio__label {

border: units($theme-input-tile-border-width) solid
  color($theme-input-tile-border-color);
border-radius: radius($theme-input-tile-border-radius);
margin: units(1) 0;
padding: units(1.5) units(2) units(1.5) units(5);

}

.usa-checkbox__input–tile:checked + .usa-checkbox__label, .usa-radio__input–tile:checked + .usa-radio__label {

background-color: color($theme-input-tile-background-color-selected);
border-color: color($theme-input-tile-border-color-selected);

}

.usa-checkbox__label-description, .usa-radio__label-description {

display: block;
font-size: size("ui", "2xs");
margin-top: units(1);
text-indent: 0;

}