v3.25.2
Note 7 - Stock-based Compensation - Stock Option Activity (Details) - USD ($)
6 Months Ended 12 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Options cancelled, Shares (in shares) (800)    
Options cancelled, Weighted average exercise price (in dollars per share) $ 24.4    
Stock Option Plan 2013 [Member]      
Options outstanding, Shares (in shares) 131,847 165,517 165,517
Options outstanding, Weighted average exercise price (in dollars per share) $ 22.58 $ 21.52 $ 21.52
Options exercised, Shares (in shares) (28,855)   (32,070)
Options exercised, Weighted average exercise price (in dollars per share) $ 22.74   $ 17.03
Options cancelled, Shares (in shares)     (1,600)
Options cancelled, Weighted average exercise price (in dollars per share)     $ 24.4
Options outstanding, Shares (in shares) 102,192   131,847
Options outstanding, Weighted average exercise price (in dollars per share) $ 22.52   $ 22.58
Options outstanding, Weighted average remaining contractual term in years (Year) 1 year 8 months 12 days    
Options outstanding, Intrinsic value $ 2,242,440    
Options exercisable, Shares (in shares) 102,192    
Options exercisable, Weighted average exercise price (in dollars per share) $ 22.52    
Options exercisable, weighted average remaining contractual term (Year) 1 year 8 months 12 days    
Options exercisable, Intrinsic value $ 2,242,440    
Stock Option Plan 2022 [Member]      
Options outstanding, Shares (in shares) 210,200 105,500 105,500
Options outstanding, Weighted average exercise price (in dollars per share) $ 32.55 $ 31 $ 31
Options exercised, Shares (in shares) (360)   (1,300)
Options exercised, Weighted average exercise price (in dollars per share) $ 34.07   $ 31
Options cancelled, Shares (in shares) (1,800)   (1,200)
Options cancelled, Weighted average exercise price (in dollars per share) $ 34.07   $ 34.07
Options outstanding, Shares (in shares) 208,040   210,200
Options outstanding, Weighted average exercise price (in dollars per share) $ 32.53   $ 32.55
Options outstanding, Weighted average remaining contractual term in years (Year) 7 years 8 months 12 days    
Options outstanding, Intrinsic value $ 2,481,438    
Options exercisable, Shares (in shares) 64,080    
Options exercisable, Weighted average exercise price (in dollars per share) $ 31.98    
Options exercisable, weighted average remaining contractual term (Year) 7 years 3 months 18 days    
Options exercisable, Intrinsic value $ 723,463    
Options granted, shares (in shares) 0 107,200 107,200
Options granted, Weighted average exercise price (in dollars per share)     $ 34.07
Options expected to vest, shares (in shares) 136,762    
Options expected to vest, weighted average exercise price (in dollars per share) $ 32.78    
Options expected to vest, weighted average remaining contractual term (Year) 7 years 10 months 24 days    
Options expected to vest, intrinsic value $ 1,597,697