.input-group {
  @include border-radius($input-border-radius, 0);

  &,
  .input-group-text {
    transition: $input-transition;
  }

  & > :not(:first-child):not(.dropdown-menu) {
    margin-left: 0;
  }

  .form-control {
    &:focus {
      border-left: $input-border-width solid $input-focus-border-color !important;
      border-right: $input-border-width solid $input-focus-border-color !important;
    }

    &:not(:first-child) {
      border-left: 0;
      padding-left: 0;
    }
    &:not(:last-child) {
      border-right: 0;
      padding-right: 0;
    }

    & + .input-group-text {
      border-left: 0;
      border-right: $input-border-width solid $input-border-color;
    }
  }

  .input-group-text {
    border-right: 0;
  }

  > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(
      .valid-feedback
    ):not(.invalid-tooltip):not(.invalid-feedback) {
    border-left: $white !important;
    border-right: $white !important;
  }

  &.focused {
    .input-group-text {
      border-color: $primary !important;
    }
  }
}

.form-control {
  &.form-control-alternative {
    border: 0;
    box-shadow: $input-alternative-box-shadow;

    &:focus {
      box-shadow: $input-alternative-focus-box-shadow;
    }
  }
}

.form-group {
  margin-bottom: 1rem;
}
