Warrants (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Apr. 30, 2012
Debt Disclosure [Abstract]        
Warrants issued (in shares)       992,000
Right to purchase, number of shares per warrant (in shares)       1
Exercise price of warrants (in dollars per warrant)       $ 10.00
Warrant liability, at fair value $ 7,641 $ 7,296   $ 5,100
Warrants exercised (in shares) 448,000 151,000 55,000  
Stock issued upon exercise of warrants (in shares) 289,000 91,000 32,000  
Fair value of warrant liability reclassified to additional paid in capital upon exercise $ 8,300 $ 1,600    
Change in fair value of warrant liability in current period $ 4,100 $ 400