Stock Option Plan - Exercise Price Range (Details) - $ / shares
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Information about stock options outstanding      
Options Outstanding, Number 6,354,308 6,664,173  
Options Outstanding, Weighted Average Remaining Contractual Life 6 years 7 months 24 days 7 years 8 months 19 days  
Weighted average exercise price of options outstanding (in dollars per share) $ 6.80 $ 7.26  
Options Vested, Number 3,783,385 3,209,532  
Options Vested, Weighted Average Remaining Contractual Life 5 years 10 days 6 years 2 months 19 days  
Weighted average exercise price of options vested (in dollars per share) $ 9.09 $ 10.23  
Weighted average grant date fair value of options granted (in dollars per share) 1.93 2.66 $ 2.53
$0.28 - $2.00      
Information about stock options outstanding      
Exercise Price, low end of range (in dollars per share) 0.28 0.28  
Exercise Price, high end of range (in dollars per share) $ 2.00 $ 2.00  
Options Outstanding, Number 110,000 190,500  
Options Outstanding, Weighted Average Remaining Contractual Life 6 years 7 months 24 days 5 years 6 months 21 days  
Weighted average exercise price of options outstanding (in dollars per share) $ 1.45 $ 1.09  
Options Vested, Number 110,000 100,500  
Options Vested, Weighted Average Remaining Contractual Life 6 years 7 months 24 days 2 years 3 months 10 days  
Weighted average exercise price of options vested (in dollars per share) $ 1.45 $ 0.28  
$2.56 - $3.84      
Information about stock options outstanding      
Exercise Price, low end of range (in dollars per share) 2.56 2.56  
Exercise Price, high end of range (in dollars per share) $ 3.84 $ 3.84  
Options Outstanding, Number 2,483,169 1,628,459  
Options Outstanding, Weighted Average Remaining Contractual Life 8 years 5 months 19 days 8 years 10 months 6 days  
Weighted average exercise price of options outstanding (in dollars per share) $ 3.06 $ 3.53  
Options Vested, Number 785,426 468,939  
Options Vested, Weighted Average Remaining Contractual Life 6 years 9 months 7 days 8 years 6 months 10 days  
Weighted average exercise price of options vested (in dollars per share) $ 3.44 $ 3.56  
$3.88 - $5.82      
Information about stock options outstanding      
Exercise Price, low end of range (in dollars per share) 3.88 3.88  
Exercise Price, high end of range (in dollars per share) $ 5.82 $ 5.82  
Options Outstanding, Number 999,064 1,707,500  
Options Outstanding, Weighted Average Remaining Contractual Life 8 years 7 months 20 days 9 years 7 months 24 days  
Weighted average exercise price of options outstanding (in dollars per share) $ 4.02 $ 4.00  
Options Vested, Number 288,670 130,106  
Options Vested, Weighted Average Remaining Contractual Life 7 years 11 months 8 days 8 years 29 days  
Weighted average exercise price of options vested (in dollars per share) $ 4.03 $ 3.99  
$5.94 - $8.91      
Information about stock options outstanding      
Exercise Price, low end of range (in dollars per share) 5.94 5.94  
Exercise Price, high end of range (in dollars per share) $ 8.91 $ 8.91  
Options Outstanding, Number 765,439 899,959  
Options Outstanding, Weighted Average Remaining Contractual Life 5 years 3 months 21 days 7 years 5 months 1 day  
Weighted average exercise price of options outstanding (in dollars per share) $ 5.98 $ 5.98  
Options Vested, Number 619,649 482,065  
Options Vested, Weighted Average Remaining Contractual Life 4 years 11 months 1 day 6 years 11 months 19 days  
Weighted average exercise price of options vested (in dollars per share) $ 5.98 $ 5.98  
$9.52 - $14.28      
Information about stock options outstanding      
Exercise Price, low end of range (in dollars per share) 9.52 9.52  
Exercise Price, high end of range (in dollars per share) $ 14.28 $ 14.28  
Options Outstanding, Number 846,636 955,947  
Options Outstanding, Weighted Average Remaining Contractual Life 3 years 9 months 29 days 6 years 5 months 19 days  
Weighted average exercise price of options outstanding (in dollars per share) $ 10.74 $ 10.77  
Options Vested, Number 829,640 762,488  
Options Vested, Weighted Average Remaining Contractual Life 3 years 9 months 7 days 6 years 3 months 21 days  
Weighted average exercise price of options vested (in dollars per share) $ 10.72 $ 10.76  
$14.43 - $21.64      
Information about stock options outstanding      
Exercise Price, low end of range (in dollars per share) 14.43 14.43  
Exercise Price, high end of range (in dollars per share) $ 21.64 $ 21.64  
Options Outstanding, Number 1,150,000 1,281,808  
Options Outstanding, Weighted Average Remaining Contractual Life 3 years 11 months 8 days 5 years 2 months 1 day  
Weighted average exercise price of options outstanding (in dollars per share) $ 15.45 $ 15.44  
Options Vested, Number 1,150,000 1,265,434  
Options Vested, Weighted Average Remaining Contractual Life 3 years 11 months 8 days 5 years 1 month 24 days  
Weighted average exercise price of options vested (in dollars per share) $ 15.45 $ 15.42