XML 56 R42.htm IDEA: XBRL DOCUMENT v3.24.0.1
Note 14 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
          

Weighted average

     
      

Weighted

  

remaining

     
  

Number of

  

average

  

contractual life

  

Aggregate

 
  

options

  

exercise price

  

(years)

  

intrinsic value

 
                 

Shares issuable under options - Beginning of period

  2,337,573  $120.06         

Granted

  615,000   142.20         

Exercised

  (455,934)  73.73         

Forfeited

  (75,890)  144.43         

Shares issuable under options - December 31, 2023

  2,420,749  $133.65   2.5  $68,849 

Options exercisable - End of period

  1,044,891  $120.60   1.6  $43,351 
Stock Options Exercised [Table Text Block]
  

2023

 
     

Number of options exercised

  455,934 
     

Aggregate fair value

 $66,499 

Intrinsic value

  32,883 

Amount of cash received

  33,616 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

2023

 
     

Risk free rate

  4.0%

Expected life in years

  4.20 

Expected volatility

  33.5%

Dividend yield

  0.6%
     

Weighted average fair value per option granted

 $44.19