XML 48 R35.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

2023

  

2022

 

Risk-free interest rate

  4.6%  1.9% - 4.3% 

Dividend yield

  0%  0%

Expected term (years)

  3.25 - 3.50   3.25 - 6.00 

Expected volatility

  33.5% - 36.7%   45.8% - 48.1% 
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  

Shares

  

Weighted average exercise price per share

 

Weighted Average Remaining Contractual Term

 

Aggregate Intrinsic Value

 

Outstanding at December 31, 2021

  290,450  $31.70 

4 years, 11 months

 $5,195,253 

Options granted

  195,200   28.15      

Options exercised

  (26,400)  2.80      

Options expired

  (500)  3.50      

Options forfeited

  (3,500)  13.00      

Outstanding at December 31, 2022

  455,250  $32.05 

6 years, 5 months

 $95,937 

Options granted

  85,000   2.11      

Options exercised

  (2,000)  3.70      

Options expired

  (59,750)  23.53      

Options forfeited

  (87,500)  30.11      

Outstanding at December 31, 2023

  391,000  $27.43 

5 years, 4 months

 $998 

Exercisable at December 31, 2023

  224,570  $36.61 

4 years, 6 months

 $998 
Schedule of Nonvested Share Activity [Table Text Block]
  

Nonvested

 
  

Shares

  

Weighted average exercise price per share

  

Weighted average grant date fair value

 

Nonvested at December 31, 2021

  95,250  $40.70  $15.10 

Granted

  195,200   28.15   13.65 

Vested

  (51,375)  39.00   14.70 

Forfeited

  (3,500)  13.00   13.00 

Nonvested at December 31, 2022

  235,575  $31.10  $14.00 

Granted

  85,000   2.11   0.65 

Vested

  (58,145)  33.47   13.82 

Expired

  (8,500)  49.82   21.45 

Forfeited

  (87,500)  30.11   12.68 

Nonvested at December 31, 2023

  166,430  $15.04  $6.60