XML 38 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Note 8 - Stock-based Compensation (Tables)
6 Months Ended
Jun. 30, 2023
Notes Tables  
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  Number of Stock Options  Weighted-Average Exercise Price  Weighted Average Remaining Contractual Term (in years)  Aggregate Intrinsic Value 

Outstanding as of December 31, 2022

  8,680  $12.95         

Granted

  -   -         

Exercised

  (6,742)  12.59         

Forfeited/cancelled/expired

  -   -         

Outstanding as of June 30, 2023

  1,938   14.24   0.16  $5,368 

Exercisable as of June 30, 2023

  1,938  $14.24   0.16  $5,368 
Nonvested Restricted Stock Shares Activity [Table Text Block]
  Nonvested Shares  Weighted Average Grant Date Fair Value 

Nonvested as of December 31, 2022

  85,931  $26.20 

Granted

  93,147   16.19 

Vested

  (46,940)  27.59 

Forfeited/cancelled/expired

  (6,613)  23.60 

Nonvested as of June 30, 2023

  125,525  $18.39 
Schedule of Nonvested Performance-Based Units Activity [Table Text Block]
  Units (expected)  Units (maximum)  Weighted Average Grant Date Fair Value 

Unearned as of December 31, 2022

  195,265      $17.98 

Awarded

  85,158       17.93 

Vested shares

  (116,192)      10.77 

Unearned as of June 30, 2023

  164,231   233,087  $23.06 
Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]
  Units (expected)  Weighted Average Grant Date Fair Value 

Unearned as of December 31, 2022

  120,035  $23.84 

Awarded

  146,857   18.98 

Vested shares

  (70,669)  19.19 

Unearned as of June 30, 2023

  196,223  $21.88