XML 74 R52.htm IDEA: XBRL DOCUMENT v3.24.0.1
Note 21 - 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

  

Aggregate

 
  

Number of

  

average

  

contractual life

  

intrinsic

 
  

options

  

exercise price

  

(years)

  

value

 

Shares issuable under options - December 31, 2021

  2,550,875  $89.34         

Granted

  837,500   95.69         

Exercised

  (305,125)  54.99         

Forfeited

  (30,250)  110.73         

Shares issuable under options - December 31, 2022

  3,053,000  $94.30         

Granted

  815,000   106.75         

Exercised

  (600,500)  70.04         

Forfeited

  (25,250)  119.82         

Shares issuable under options - December 31, 2023

  3,242,250  $101.73   3.2  $87,846 

Options exercisable - December 31, 2023

  1,378,039  $94.61   2.2  $47,249 
Stock Options Exercised [Table Text Block]
  

Year ended December 31,

 
  

2023

  

2022

 
         

Number of options exercised

  600,500   305,125 
         

Aggregate fair value

 $68,629  $41,528 

Intrinsic value

  26,571   16,779 

Amount of cash received

  42,058   24,749 
         

Tax benefit recognized

 $131  $754 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

As at December 31,

 
  

2023

  

2022

 
         

Risk free rate

  4.9%  4.2%

Expected life in years

  4.75   4.75 

Expected volatility

  42.3%  41.2%

Dividend yield

  0.3%  0.3%
         

Weighted average fair value per option granted

 $44.78  $38.22