Annual report [Section 13 and 15(d), not S-K Item 405]

Note 13 - Share-based Compensation - Stock Options Outstanding (Details)

v3.25.1
Note 13 - Share-based Compensation - Stock Options Outstanding (Details) - $ / shares
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Outstanding, shares (in shares) 4,692,438  
Outstanding, weighted average remaining contractual life (Year) 7 years 1 month 6 days  
Outstanding, weighted average exercise price (in dollars per share) $ 3.33  
Exercisable, shares (in shares) 2,320,455  
Exercisable, weighted average remaining contractual life (Year) 5 years 6 months  
Exercise Price Range 1 [Member]    
Per share exercise price, lower range (in dollars per share)   $ 1
Per share exercise price, upper range (in dollars per share) $ 1.99  
Outstanding, shares (in shares) 203,443  
Outstanding, weighted average remaining contractual life (Year) 8 years 2 months 12 days  
Outstanding, weighted average exercise price (in dollars per share) $ 1.6  
Exercisable, shares (in shares) 87,425  
Exercisable, weighted average remaining contractual life (Year) 8 years 2 months 12 days  
Exercise Price Range 2 [Member]    
Per share exercise price, lower range (in dollars per share)   2
Per share exercise price, upper range (in dollars per share) $ 2.99  
Outstanding, shares (in shares) 2,962,895  
Outstanding, weighted average remaining contractual life (Year) 7 years 9 months 18 days  
Outstanding, weighted average exercise price (in dollars per share) $ 2.72  
Exercisable, shares (in shares) 995,992  
Exercisable, weighted average remaining contractual life (Year) 6 years 4 months 24 days  
Exercise Price Range 3 [Member]    
Per share exercise price, lower range (in dollars per share)   3
Per share exercise price, upper range (in dollars per share) $ 3.99  
Outstanding, shares (in shares) 316,893  
Outstanding, weighted average remaining contractual life (Year) 5 years 8 months 12 days  
Outstanding, weighted average exercise price (in dollars per share) $ 3.5  
Exercisable, shares (in shares) 216,893  
Exercisable, weighted average remaining contractual life (Year) 3 years 10 months 24 days  
Exercise Price Range 4 [Member]    
Per share exercise price, lower range (in dollars per share)   4
Per share exercise price, upper range (in dollars per share) $ 4.99  
Outstanding, shares (in shares) 797,182  
Outstanding, weighted average remaining contractual life (Year) 5 years 3 months 18 days  
Outstanding, weighted average exercise price (in dollars per share) $ 4.52  
Exercisable, shares (in shares) 677,182  
Exercisable, weighted average remaining contractual life (Year) 4 years 6 months  
Exercise Price Range 5 [Member]    
Per share exercise price, lower range (in dollars per share)   $ 5
Per share exercise price, upper range (in dollars per share) $ 16  
Outstanding, shares (in shares) 412,025  
Outstanding, weighted average remaining contractual life (Year) 5 years 8 months 12 days  
Outstanding, weighted average exercise price (in dollars per share) $ 6.16  
Exercisable, shares (in shares) 342,963  
Exercisable, weighted average remaining contractual life (Year) 5 years 3 months 18 days