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 |