Stock-based Compensation - Summary of Stock Option and Warrant Outstanding (Details)
|
12 Months Ended |
|
Dec. 31, 2019
$ / shares
shares
|
| Exercise Price 0.01-1.40 [Member] |
|
| Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] |
|
| Range of Exercise Prices, minimum |
$ 0.01
|
| Range of Exercise Prices, maximum |
$ 1.40
|
| Number outstanding | shares |
1,855,151
|
| Weighted average remaining contractual life |
6 years 8 months 9 days
|
| Weighted average exercise price |
$ 0.82
|
| Number exercisable | shares |
1,328,484
|
| Weighted average exercise price exercisable |
$ 0.70
|
| Exercise Price 2.00-3.85 [Member] |
|
| Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] |
|
| Range of Exercise Prices, minimum |
2.00
|
| Range of Exercise Prices, maximum |
$ 3.85
|
| Number outstanding | shares |
1,055,445
|
| Weighted average remaining contractual life |
7 years 10 months 14 days
|
| Weighted average exercise price |
$ 2.54
|
| Number exercisable | shares |
772,112
|
| Weighted average exercise price exercisable |
$ 2.51
|
| Exercise Price 5.61-7.20 [Member] |
|
| Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] |
|
| Range of Exercise Prices, minimum |
5.61
|
| Range of Exercise Prices, maximum |
$ 7.20
|
| Number outstanding | shares |
94,756
|
| Weighted average remaining contractual life |
2 years 4 months 13 days
|
| Weighted average exercise price |
$ 6.64
|
| Number exercisable | shares |
94,756
|
| Weighted average exercise price exercisable |
$ 6.64
|
| Exercise Price 0.01-7.20 [Member] |
|
| Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] |
|
| Range of Exercise Prices, minimum |
0.01
|
| Range of Exercise Prices, maximum |
$ 7.20
|
| Number outstanding | shares |
3,005,352
|
| Weighted average remaining contractual life |
6 years 11 months 19 days
|
| Weighted average exercise price |
$ 1.61
|
| Number exercisable | shares |
2,195,352
|
| Weighted average exercise price exercisable |
$ 1.60
|