Note 12 - Share-based Compensation - Summary of Stock Option Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Options on Common Shares, Outstanding (in shares) 3,931,586 2,928,750  
Outstanding, weighted average exercise price (in dollars per share) $ 4.41 $ 2.96  
Outstanding, remaining contractual term (Year) 4 years 9 months 14 days 4 years 9 months 18 days 3 years 8 months 15 days
Options on Common Shares, Granted (in shares) 1,254,500 1,423,836  
Granted, weighted average exercise price (in dollars per share) $ 5.33 $ 6.66  
Options on Common Shares, Exercised (in shares) (915,404) (371,000)  
Exercised, weighted average exercise price (in dollars per share) $ 1.83 $ 1.90  
Options on Common Shares, Forfeited, cancelled, expired (in shares) (334,799) (50,000)  
Forfeited, cancelled, expired, weighted average exercise price (in dollars per share) $ 5.14 $ 3.00  
Options on Common Shares, Outstanding (in shares) 3,935,883 3,931,586 2,928,750
Outstanding, weighted average exercise price (in dollars per share) $ 5.24 $ 4.41 $ 2.96
Outstanding, aggregate intrinsic value $ 1,608    
Exercisable December 31, 2021 (in shares) 2,415,063    
Exercisable weighted average exercise price (in dollars per share) $ 5.19    
Exercisable, remaining contractual term (Year) 2 years 5 months 8 days    
Exercisable December 31, 2021 $ 1,608