.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); } }