Note 12 - Share-based Compensation - Stock Option Activity (Details) - Share-based Payment Arrangement, Option [Member] - USD ($) $ / shares in Units, $ in Thousands |
3 Months Ended | |
|---|---|---|
Mar. 31, 2020 |
Dec. 31, 2019 |
|
| Balance (in shares) | 1,220,359 | |
| Balance, weighted average exercise price (in dollars per share) | $ 5.17 | |
| Balance, aggregate intrinsic value | $ 80 | |
| Granted (in shares) | 30,000 | |
| Granted, weighted average exercise price (in dollars per share) | $ 5.64 | |
| Exercised (in shares) | (7,200) | |
| Exercised, weighted average exercise price (in dollars per share) | $ 2.13 | |
| Expired/cancelled (in shares) | (61,850) | |
| Expired / cancelled, weighted average exercise price (in dollars per share) | $ 4.86 | |
| Forfeited (in shares) | ||
| Forfeited, weighted average exercise price (in dollars per share) | ||
| Balance (in shares) | 1,181,309 | |
| Balance, weighted average exercise price (in dollars per share) | $ 5.21 |