.form-inline > * + * {
  margin-left: 1rem;
}

.col-form-label {
  font-weight: bold;
  font-size: $font-size-md;
  line-height: $font-size-md;
  padding-top: calc(#{$input-padding-y} + #{$input-btn-border-width});
  padding-bottom: calc(#{$input-padding-y} + #{$input-btn-border-width});

  + * {
    min-height: calc(#{$input-padding-y * 2} + #{$input-btn-border-width * 2});
  }
}

.form-control {
  padding: $input-padding-y $input-padding-x;

  &.disabled, &[disabled] {
    cursor: not-allowed;
  }

  &:not(.disabled):not([disabled]) {
    @include hover {
      background-color: $input-focus-bg;
      outline: none;

      &:not(.is-invalid) {
        @include box-shadow($input-focus-box-shadow);

        border-color: $input-focus-border-color;
      }
    }

    &.is-invalid {
      box-shadow: none;
      border-color: $red;

      @include hover-focus {
        @include box-shadow($btn-invalid-box-shadow);
      }
    }
  }
}

.form-control-plaintext {
  background: transparent;
}

.custom-control {
  cursor: pointer;
  align-items: center;
  margin-top: calc(#{$input-padding-y - $font-size-base * ($line-height-base - $input-btn-line-height)} + #{$input-btn-border-width + 1px});
  margin-bottom: 0 !important;
  margin-left: 0 !important;

  .custom-control-indicator {
    @include transition($transition-slide);

    background-position: 0 0;
  }

  .custom-control-input:checked ~ .custom-control-indicator {
    transform: scale(1.2);
    background-position: center center;
  }
}
