Note 7 - Stock-based Compensation - Options Outstanding (Details) | 3 Months Ended |
Mar. 31, 2022$ / sharesshares |
Options outstanding (in shares) | shares | 2,444,136 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 29 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 5.760 |
Options exercisable (in shares) | shares | 1,852,268 |
Options excercisable, weighted average remaining contractual life (Year) | 6 years 3 months 3 days |
Exercise Price Range 1 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 1.10 |
Options outstanding (in shares) | shares | 14,000 |
Options outstanding, weighted average remaining contractual life (Year) | 1 year 2 months 12 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 1.100 |
Options exercisable (in shares) | shares | 14,000 |
Options excercisable, weighted average remaining contractual life (Year) | 1 year 2 months 12 days |
Exercise Price Range 2 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 2.26 |
Options outstanding (in shares) | shares | 79,225 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 4 months 13 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 2.310 |
Options exercisable (in shares) | shares | 22,000 |
Options excercisable, weighted average remaining contractual life (Year) | 1 year 11 months 12 days |
Per share exercise price, upper limit (in dollars per share) | $ 2.50 |
Exercise Price Range 3 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 2.95 |
Options outstanding (in shares) | shares | 1,207,940 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 2 months 12 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 3.410 |
Options exercisable (in shares) | shares | 856,821 |
Options excercisable, weighted average remaining contractual life (Year) | 6 years 7 months 13 days |
Per share exercise price, upper limit (in dollars per share) | $ 4.17 |
Exercise Price Range 4 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 4.50 |
Options outstanding (in shares) | shares | 687,100 |
Options outstanding, weighted average remaining contractual life (Year) | 6 years 5 months 8 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 6.134 |
Options exercisable (in shares) | shares | 609,600 |
Options excercisable, weighted average remaining contractual life (Year) | 6 years 2 months 19 days |
Per share exercise price, upper limit (in dollars per share) | $ 8.10 |
Exercise Price Range 5 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 9.99 |
Options outstanding (in shares) | shares | 262,048 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 9 months 18 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 9.992 |
Options exercisable (in shares) | shares | 156,024 |
Options excercisable, weighted average remaining contractual life (Year) | 7 years 5 months 19 days |
Per share exercise price, upper limit (in dollars per share) | $ 10.10 |
Exercise Price Range 6 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 15.10 |
Options outstanding (in shares) | shares | 193,823 |
Options outstanding, weighted average remaining contractual life (Year) | 4 years 8 months 12 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 15.100 |
Options exercisable (in shares) | shares | 193,823 |
Options excercisable, weighted average remaining contractual life (Year) | 4 years 8 months 12 days |