XML 62 R32.htm IDEA: XBRL DOCUMENT v3.20.1
Note 9 - Stockholders' Equity (Tables)
12 Months Ended
Dec. 31, 2019
Notes Tables  
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
   
2019
   
2018
   
2017
 
Dividend yield
   
0.96
%    
1.20
%    
0.70
%
Volatility
   
42.8
%    
41.3
%    
39.1
%
Risk-free interest rate
   
1.7
%    
2.7
%    
2.2
%
Weighted average expected option term (in years)
   
4.7
     
4.8
     
4.6
 
Weighted average fair value per share of options granted
  $
12.51
    $
8.28
    $
10.37
 
Share-based Payment Arrangement, Option, Activity [Table Text Block]
   
 
 
 
 
Weighted
   
Weighted Average
   
Aggregate
 
   
Number
   
Average
   
Remaining
   
Intrinsic
 
   
of Shares
   
Exercise Price
   
Contractual Term
   
Value
 
                   
(in years)
         
Balance outstanding at December 31, 2018 (1)
   
1,462,575
    $
16.41
   
4.54
    $
12,214,422
 
                               
Granted
   
195,379
    $
35.53
   
 
     
 
 
Exercised (2)
   
(509,693
)   $
9.53
   
 
    $
11,488,292
 
Canceled / Expired
   
(101,167
)   $
17.90
   
 
     
 
 
Balance outstanding at December 31, 2019 (3)
   
1,047,094
    $
23.19
   
4.31
    $
13,366,595
 
                               
Vested and exercisable at December 31, 2019 (4)
   
309,501
    $
19.64
   
3.50
    $
5,046,733
 
Expected to vest at December 31, 2019
   
737,593
    $
24.68
   
4.65
     
 
 
Total
   
1,047,094
     
 
   
 
     
 
 
Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]
   
 
 
 
 
Weighted
 
   
 
 
 
 
Average
 
   
 
 
 
 
Grant Date
 
   
Shares
   
Fair Value
 
                 
Balance outstanding at December 31, 2018
   
217,895
    $
21.21
 
                 
Granted
   
56,567
    $
35.41
 
Vested (1)
   
(61,058
)   $
18.46
 
Canceled
   
(24,723
)   $
22.19
 
                 
Balance outstanding at December 31, 2019
   
188,681
    $
26.14
 
Accelerated Share Repurchases [Table Text Block]
   
2019
   
2018
 
                 
Shares of common stock repurchased
   
20,524
     
21,410
 
Average per share repurchase price
  $
33.28
    $
34.62
 
Aggregage purchase price (in thousands)
  $
683
    $
741
 
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
   
2019
   
2018
   
2017
 
   
(in thousands)
 
Stock option awards
  $
1,580
    $
1,457
    $
1,612
 
Restricted stock units
   
1,062
     
892
     
644
 
                         
Total stock-based compensation
  $
2,642
    $
2,349
    $
2,256
 
   
2019
   
2018
   
2017
 
   
(in thousands)   
 
 
 
 
Cost of sales
  $
310
    $
272
    $
188
 
Sales and marketing
   
544
     
529
     
403
 
General and administrative
   
1,509
     
1,293
     
1,484
 
Research and development
   
279
     
255
     
181
 
                         
Total stock-based compensation
  $
2,642
    $
2,349
    $
2,256
 
Schedule of Dividends Payable [Table Text Block]
Record Date
 
Payment Date
   
Per Share Amount
   
Dividend Payment
 
                 
(in thousands)
 
Fiscal Year 2019
                     
March 22, 2019
 
April 5, 2019
    $
0.085
    $
1,672
 
May 22, 2019
 
June 6, 2019
    $
0.085
    $
1,672
 
August 21, 2019
 
September 5, 2019
    $
0.085
    $
1,691
 
November 20, 2019
 
December 5, 2019
    $
0.085
    $
1,701
 
                       
                       
Fiscal Year 2018
                     
March 22, 2018
 
April 5, 2018
    $
0.070
    $
1,351
 
May 22, 2018
 
June 7, 2018
    $
0.070
    $
1,353
 
August 22, 2018
 
September 6, 2018
    $
0.070
    $
1,369
 
November 20, 2018
 
December 6, 2018
    $
0.070
    $
1,372