Note 11 - Stock-based Compensation - Options Outstanding (Details) | 6 Months Ended |
Jun. 30, 2022 $ / shares shares |
Options outstanding (in shares) | shares | 4,040,890 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 1 month 24 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 3.622 |
Options exercisable (in shares) | shares | 3,589,307 |
Options excercisable, weighted average remaining contractual life (Year) | 6 years 9 months 25 days |
Exercise Price Range 1 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 0.22 |
Per share exercise price, upper limit (in dollars per share) | $ 1.47 |
Options outstanding (in shares) | shares | 1,610,754 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 7 months 17 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 0.356 |
Options exercisable (in shares) | shares | 1,610,754 |
Options excercisable, weighted average remaining contractual life (Year) | 7 years 7 months 17 days |
Exercise Price Range 2 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 2.26 |
Per share exercise price, upper limit (in dollars per share) | $ 2.50 |
Options outstanding (in shares) | shares | 79,225 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 1 month 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 8 months 12 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) | $ 4.17 |
Options outstanding (in shares) | shares | 1,207,940 |
Options outstanding, weighted average remaining contractual life (Year) | 6 years 11 months 12 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 3.410 |
Options exercisable (in shares) | shares | 959,606 |
Options excercisable, weighted average remaining contractual life (Year) | 6 years 5 months 23 days |
Exercise Price Range 4 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 4.5 |
Per share exercise price, upper limit (in dollars per share) | $ 8.10 |
Options outstanding (in shares) | shares | 687,100 |
Options outstanding, weighted average remaining contractual life (Year) | 6 years 2 months 8 days |
Options outstanding, weighted average exercise price (in dollars per share) | $ 6.134 |
Options exercisable (in shares) | shares | 647,100 |
Options excercisable, weighted average remaining contractual life (Year) | 6 years 1 month 2 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 | 262,048 |
Options outstanding, weighted average remaining contractual life (Year) | 7 years 6 months 21 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 2 months 23 days |
Exercise Price Range 6 [Member] | |
Per share exercise price, lower limit (in dollars per share) | $ 15.1 |
Options outstanding (in shares) | shares | 193,823 |
Options outstanding, weighted average remaining contractual life (Year) | 4 years 5 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 5 months 12 days |