v3.26.1
Note 8 - Stock-based Compensation (Tables)
6 Months Ended
Jun. 30, 2026
Notes Tables  
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  

Six months ended June 30,

 
  

2026

  

2025

 
  

Number of Options

  

Weighted Average Exercise Price

  

Number of Options

  

Weighted Average Exercise Price

 

Outstanding, beginning of period

  226,602  $18.77   260,602  $18.37 

Exercised

  (29,070)  14.28   (34,000)  15.74 

Outstanding, end of period

  197,532  $19.43   226,602  $18.77 

Exercisable, end of period

  161,249  $20.25   168,786  $19.64 
Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]
  

Six months ended June 30,

 
  

2026

  

2025

 
  

Shares

  

Weighted Average Grant Date Fair Value

  

Shares

  

Weighted Average Grant Date Fair Value

 

Balance, beginning of period

  337,735  $16.81   323,820  $16.65 

Granted

  96,558   27.59   134,182   17.76 

Forfeited

  (1,461)  18.47   (4,760)  16.37 

Earned and issued

  (107,507)  17.09   (104,377)  17.65 

Balance, end of period

  325,325  $19.91   348,865  $16.78