v3.26.1
Note 14 - Stock-based Compensation (Tables)
6 Months Ended
Jun. 30, 2026
Notes Tables  
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

June 30,

2026

  

December 31,
2025

 

Risk–free interest rate

  3.5%  4.1%

Expected volatility

  29.0%  27.0%

Expected life, in years

  2.9   2.9 

Expected dividend yield

  1.7%  2.8%
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  

Number of

Shares

  

Weighted

Average

Exercise Price

  

Aggregate

Intrinsic

Value

 

Options outstanding at January 1, 2025

  631,242  $74.73  $ 

Options granted

  306,148   91.42    

Options exercised

  (202,281)  70.17    

Options cancelled

  (87,134)  85.94    

Options outstanding at December 31, 2025

  647,975   82.53    

Options granted

  316,804   159.28    

Options exercised

  (247,157)  78.20    

Options outstanding at June 30, 2026

  717,622  $117.91  $67,063,000 
             

Options exercisable at June 30, 2026

  191,793  $78.19  $25,540,000 
Share-Based Payment Arrangement, Option, Exercise Price Range [Table Text Block]

Options

Outstanding

June 30, 2026

  

Exercise Prices

  

Weighted Average

Exercise Price

  

Weighted Average

Remaining

Contractual

Life in Years

 
400,818  $53.94-$96.03  $85.21   2.9 
316,804  $130.41-$171.42   159.28   4.6 
717,622       $117.91   3.7