XML 22 R49.htm IDEA: XBRL DOCUMENT v3.19.3.a.u2
Note 17 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2019
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 - December 31, 2017    
1,753,275
    $
36.03
     
 
     
 
 
Granted    
470,000
     
67.32
     
 
     
 
 
Exercised    
(278,975
)    
26.60
     
 
     
 
 
Forfeited    
(46,875
)    
39.66
     
 
     
 
 
Shares issuable under options - December 31, 2018    
1,897,425
    $
45.08
     
 
     
 
 
Granted    
960,000
     
70.99
     
 
     
 
 
Exercised    
(632,075
)    
34.71
     
 
     
 
 
Forfeited    
(223,750
)    
61.41
     
 
     
 
 
Shares issuable under options - December 31, 2019    
2,001,600
    $
58.96
     
3.2
    $
38,054
 
Options exercisable - End of year    
645,975
    $
47.48
     
2.0
    $
19,695
 
Stock Options Exercised [Table Text Block]
    2019     2018  
             
Number of options exercised    
632,075
     
278,975
 
                 
Aggregate fair value   $
43,873
    $
17,823
 
Intrinsic value    
21,934
     
10,403
 
Amount of cash received    
21,939
     
7,420
 
                 
Tax benefit recognized   $
1,322
    $
73
 
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
    2019     2018  
             
Risk free rate    
2.1
%    
2.2
%
Expected life in years    
4.75
     
4.75
 
Expected volatility    
28.8
%    
29.7
%
Dividend yield    
0.1
%    
0.1
%
                 
Weighted average fair value per option granted   $
19.87
    $
19.41