.input-group {
  display: table;

  input {
    position: relative;
    width: 100%;

    &:focus {
      z-index: 2;
    }
  }

  input[type="text"] + .btn {
    margin-left: 0;
  }

  // For when you want the input group to behave like inline-block.
  &.inline {
    display: inline-table;
  }
}

.input-group input,
.input-group-button {
  display: table-cell;
}

.input-group-button {
  width: 1%;
  vertical-align: middle; // Match the inputs
}

.input-group input:first-child,
.input-group-button:first-child .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-button:first-child .btn {
  margin-right: -1px;
}

.input-group input:last-child,
.input-group-button:last-child .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group-button:last-child .btn {
  margin-left: -1px;
}

.input-group {
  display: table;

  .form-control {
    position: relative;
    width: 100%;

    &:focus {
      z-index: 2;
    }
  }

  .form-control + .btn {
    margin-left: 0;
  }

  // For when you want the input group to behave like inline-block.
  &.inline {
    display: inline-table;
  }
}

.input-group .form-control,
.input-group-button {
  display: table-cell;
}

.input-group-button {
  width: 1%;
  vertical-align: middle; // Match the inputs
}

.input-group .form-control:first-child,
.input-group-button:first-child .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-button:first-child .btn {
  margin-right: -1px;
}

.input-group .form-control:last-child,
.input-group-button:last-child .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group-button:last-child .btn {
  margin-left: -1px;
}

Update input groups to use .form-control class
Update input groups to use .form-control class
