.input_group {
    display: flex;
    background: #fff;
    border-radius: 3px;
    box-shadow: 2px 2px 10px rgba(0,0,0,.1);
}
.input_group input {
    padding: 15px 20px;
    border-bottom: 0;
    margin: 0;
    border-radius: 3px;
    height: inherit !important;
}
.input_group button {
    width: inherit;
    padding: 0 10px;
}
.input_group button .component_icon {
    height: 25px;
}

.input_group.error {
    animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
}

@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }

  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }

  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}
