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

Note 13 - Stock-based Compensation - Schedule of Options by Exercise Price (Details)

v3.25.0.1
Note 13 - Stock-based Compensation - Schedule of Options by Exercise Price (Details)
12 Months Ended
Dec. 31, 2024
$ / shares
shares
Options outstanding, number of shares (in shares) | shares 183,000
Options outstanding, weighted-average remaining contractual life (Year) 3 years 7 months 17 days
Options outstanding, weighted average price (in dollars per share) $ 31.53
Options exercisable, number of shares (in shares) | shares 183,000
Options exercisable, weighted average price (in dollars per share) $ 31.53
Exercise Price Range 1 [Member]  
Exercise price, minimum (in dollars per share) 5.55
Exercise price, maximum (in dollars per share) $ 5.7
Options outstanding, number of shares (in shares) | shares 47,000
Options outstanding, weighted-average remaining contractual life (Year) 5 years 18 days
Options outstanding, weighted average price (in dollars per share) $ 5.69
Options exercisable, number of shares (in shares) | shares 47,000
Options exercisable, weighted average price (in dollars per share) $ 5.69
Exercise Price Range 2 [Member]  
Exercise price, minimum (in dollars per share) 9.15
Exercise price, maximum (in dollars per share) $ 26.39
Options outstanding, number of shares (in shares) | shares 62,000
Options outstanding, weighted-average remaining contractual life (Year) 3 years 11 months 12 days
Options outstanding, weighted average price (in dollars per share) $ 16.88
Options exercisable, number of shares (in shares) | shares 62,000
Options exercisable, weighted average price (in dollars per share) $ 16.86
Exercise Price Range 3 [Member]  
Exercise price, minimum (in dollars per share) 26.85
Exercise price, maximum (in dollars per share) $ 54.15
Options outstanding, number of shares (in shares) | shares 47,000
Options outstanding, weighted-average remaining contractual life (Year) 3 years 3 months 25 days
Options outstanding, weighted average price (in dollars per share) $ 31.69
Options exercisable, number of shares (in shares) | shares 47,000
Options exercisable, weighted average price (in dollars per share) $ 31.71
Exercise Price Range 4 [Member]  
Exercise price, minimum (in dollars per share) 60
Exercise price, maximum (in dollars per share) $ 196.35
Options outstanding, number of shares (in shares) | shares 27
Options outstanding, weighted-average remaining contractual life (Year) 1 year 10 days
Options outstanding, weighted average price (in dollars per share) $ 108.43
Options exercisable, number of shares (in shares) | shares 27
Options exercisable, weighted average price (in dollars per share) $ 108.43