Fair Value of Financial Instruments - Rollfoward of Level 3 Liabilities (Details) - Significant Unobservable Inputs (Level 3) - Warrant liability - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]      
Beginning balance $ 7,296 $ 7,472 $ 3,367
Change in fair value of warrant liability included in earnings 8,657 1,397 4,105
Issuance of common stock on warrant exercise (8,312) (1,573) 0
Ending balance $ 7,641 $ 7,296 $ 7,472