v3.26.1
Note 11 - Stock-based Compensation - Schedule of Stock Option Awards (Details)
6 Months Ended 12 Months Ended
Jun. 30, 2026
USD ($)
$ / shares
shares
Dec. 31, 2025
USD ($)
$ / shares
shares
Beginning balance, options (in shares) | shares 658,623  
Beginning balance, Weighted Average Exercise Price (in dollars per share) | $ / shares $ 33.47  
Outstanding, Weighted Average Remaining Contractual Term (Year) 6 years 2 months 4 days 6 years 7 months 17 days
Outstanding, Intrinsic Value | $ $ 6,358,883 $ 5,134,992
Granted, options (in shares) | shares 0  
Granted, Weighted Average Exercise Price (in dollars per share) | $ / shares $ 0  
Granted, Intrinsic Value | $ $ 0  
Less exercised, options (in shares) | shares 14,560  
Less exercised, Weighted Average Exercise Price (in dollars per share) | $ / shares $ 30.76  
Less exercised, Intrinsic Value | $ $ 169,447  
Ending balance, options (in shares) | shares 644,063 658,623
Ending balance, Weighted Average Exercise Price (in dollars per share) | $ / shares $ 33.53 $ 33.47
Expected to vest, options (in shares) | shares 287,175 [1]  
Expected to vest, Weighted Average Exercise Price (in dollars per share) | $ / shares $ 37.59 [1]  
Expected to vest, Weighted Average Remaining Contractual Term (Year) 8 years 18 days [1]  
Expected to vest, Intrinsic Value | $ $ 1,668,406 [1]  
Exercisable, options (in shares) | shares 356,888  
Exercisable, Weighted Average Exercise Price (in dollars per share) | $ / shares $ 30.26  
Exercisable, Weighted Average Remaining Contractual Term (Year) 4 years 8 months 4 days  
Exercisable, Intrinsic Value | $ $ 4,690,477  
[1] Forfeiture rate has been calculated and estimated, based on historical employment data, to assume a forfeiture of 3.1% of the options over 10 years.