Note 8 - Stock-based Compensation - Options Outstanding (Details) | 9 Months Ended |
Sep. 30, 2020$ / sharesshares |
Options outstanding (in shares) | shares | 2,170,459 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 175 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 6.36 |
Options excercisable (in shares) | shares | 1,651,373 |
Options excercisable, weighted average remaining contractual life (Year) | 7 years 25 days |
Exercise Price Range 1 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 0.875 |
Per share exercise price, upper limit (in dollars per share) | $ 1.10 |
Options outstanding (in shares) | shares | 26,360 |
Options outstanding, weighted average remaining contractual life (Year) | 2 years 91 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 1.03 |
Options excercisable (in shares) | shares | 26,360 |
Options excercisable, weighted average remaining contractual life (Year) | 2 years 91 days |
Exercise Price Range 2 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 2.275 |
Per share exercise price, upper limit (in dollars per share) | $ 2.50 |
Options outstanding (in shares) | shares | 38,000 |
Options outstanding, weighted average remaining contractual life (Year) | 3 years 135 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 2.46 |
Options excercisable (in shares) | shares | 38,000 |
Options excercisable, weighted average remaining contractual life (Year) | 3 years 135 days |
Exercise Price Range 3 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 2.95 |
Per share exercise price, upper limit (in dollars per share) | $ 3.70 |
Options outstanding (in shares) | shares | 774,100 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 208 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 3.04 |
Options excercisable (in shares) | shares | 605,950 |
Options excercisable, weighted average remaining contractual life (Year) | 7 years 94 days |
Exercise Price Range 4 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 4.50 |
Per share exercise price, upper limit (in dollars per share) | $ 8.10 |
Options outstanding (in shares) | shares | 751,900 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 343 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 6.24 |
Options excercisable (in shares) | shares | 563,500 |
Options excercisable, weighted average remaining contractual life (Year) | 7 years 142 days |
Exercise Price Range 5 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 9.99 |
Per share exercise price, upper limit (in dollars per share) | $ 10.10 |
Options outstanding (in shares) | shares | 266,048 |
Options outstanding, weighted average remaining contractual life (Year) | 9 years 65 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 9.99 |
Options excercisable (in shares) | shares | 107,012 |
Options excercisable, weighted average remaining contractual life (Year) | 8 years 102 days |
Exercise Price Range 6 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 15.10 |
Options outstanding (in shares) | shares | 314,051 |
Options outstanding, weighted average remaining contractual life (Year) | 5 years 237 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 15.10 |
Options excercisable (in shares) | shares | 310,551 |
Options excercisable, weighted average remaining contractual life (Year) | 5 years 255 days |