Fair Value Measurement - Reconciliation of Liabilities Using Level 3 (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Payment of contingent consideration due to seller $ 1,400 $ 900
Level 3    
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]    
Balance at beginning of period (2,960)  
Change in fair value of contingent consideration due to seller (490)  
Payment of contingent consideration due to seller 1,350  
Balance at end of period $ (2,100)