XML 51 R36.htm IDEA: XBRL DOCUMENT v3.10.0.1
Note 13 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2018
Notes Tables  
Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block]
                         
   
Year Ended December 31,
 
(in thousands)
 
2018
   
2017
   
2016
 
                         
Stock options and other
  $
10,113
    $
7,954
    $
6,177
 
Employee stock purchase plan
   
815
     
604
     
598
 
Total stock-based compensation expense
  $
10,928
    $
8,558
    $
6,775
 
                         
Cost of revenue
  $
1,543
    $
970
    $
691
 
Operating expenses:
                       
Marketing and sales    
1,942
     
1,429
     
977
 
Research and development
   
1,517
     
1,091
     
1,396
 
General and administrative
   
5,926
     
5,068
     
3,711
 
Total stock-based compensation expense
  $
10,928
    $
8,558
    $
6,775
 
                         
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
                   
   
Year Ended December 31,
 
   
2018
   
2017
   
2016
 
                   
Risk-free interest rate
 
2.52 - 3.07%
   
2.24 - 2.36%
   
1.53 - 2.68%
 
Expected life (years)
 
6.25
   
6.50
   
6.50
 
Expected volatility
 
41.68 - 42.22%
   
42.68 - 44.68%
   
44.38 - 45.93%
 
Expected dividend yield
 
0%
   
0%
   
0%
 
Weighted average grant date fair value
 
$50.08
   
$32.26
   
$26.61
 
                   
Share-based Compensation, Stock Options, Activity [Table Text Block]
                 
   
 
 
 
 
Weighted-
 
   
 
 
 
 
Average
 
   
Stock Options
   
Exercise Price
 
                 
Options outstanding at January 1, 2016
   
766,042
    $
36.52
 
Granted
   
117,480
     
57.99
 
Exercised
   
(226,164
)    
16.65
 
Cancelled
   
(87,719
)    
61.41
 
Options outstanding at December 31, 2016
   
569,639
     
45.00
 
Granted
   
60,100
     
69.06
 
Exercised
   
(187,313
)    
35.93
 
Cancelled
   
(43,371
)    
61.02
 
Options outstanding at December 31, 2017
   
399,055
     
51.13
 
Granted
   
36,600
     
110.59
 
Exercised
   
(155,765
)    
38.92
 
Cancelled
   
(27,274
)    
74.35
 
Options outstanding at December 31, 2018
   
252,616
    $
64.71
 
                 
Exercisable at December 31, 2018
   
125,925
    $
53.02
 
                 
Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block]
                                           
 
 
 
Options Outstanding, Vested and Expected to Vest
   
Options Exercisable
 
Range of
Exercise Prices
   
Number Outstanding
   
Weighted
Average Remaining Contractual Life
   
Weighted
Average
Exercise
Price ($)
   
Number Exercisable
   
Weighted
Average
Exercise
Price ($)
 
                                           
$3.67 to $31.43
     
30,972
     
2.95
     
24.59
     
30,972
     
24.59
 
$31.44 to $66.87
     
133,492
     
5.36
     
58.52
     
69,210
     
58.78
 
$66.88 to $96.20
     
51,894
     
5.55
     
72.49
     
25,743
     
71.73
 
$96.21 to $123.10
     
36,258
     
9.23
     
110.59
     
0
     
0.00
 
                                           
Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]
                 
   
 
 
 
 
Weighted-
 
   
 
 
 
 
Average
 
   
 
 
 
 
Grant Date
 
   
Restricted
   
Fair Value
 
   
Stock Awards
   
Per Share
 
                 
Restricted stock at January 1, 2016
   
124,393
    $
68.97
 
Granted
   
161,555
     
59.37
 
Restrictions lapsed
   
(41,415
)    
67.78
 
Forfeited
   
(29,428
)    
63.23
 
Restricted stock at December 31, 2016
   
215,105
     
62.78
 
Granted
   
210,744
     
63.70
 
Restrictions lapsed
   
(60,102
)    
63.60
 
Forfeited
   
(30,916
)    
61.99
 
Restricted stock at December 31, 2017
   
334,831
     
63.29
 
Granted
   
106,855
     
115.41
 
Restrictions lapsed
   
(86,191
)    
63.64
 
Forfeited
   
(31,574
)    
68.67
 
Restricted stock at December 31, 2018
   
323,921
    $
79.85
 
                 
Schedule of Nonvested Performance-based Units Activity [Table Text Block]
                 
   
 
 
 
 
Weighted-
 
   
 
 
 
 
Average
 
   
 
 
 
 
Grant Date
 
   
Performance
   
Fair Value
 
   
Stock Awards
   
Per Share
 
                 
Performance stock at January 1, 2016
   
-
    $
-
 
Granted
   
-
     
-
 
Restrictions lapsed
   
-
     
-
 
Forfeited
   
-
     
-
 
Performance stock at December 31, 2016
   
-
     
-
 
Granted
   
25,707
     
58.35
 
Restrictions lapsed
   
-
     
-
 
Forfeited
   
-
     
-
 
Performance stock at December 31, 2017
   
25,707
     
58.35
 
Granted
   
20,006
     
105.75
 
Restrictions lapsed
   
-
     
-
 
Performance assumption change
   
6,427
     
58.35
 
Forfeited
   
-
     
-
 
Performance stock at December 31, 2018
   
52,140
    $
76.54
 
                 
Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]
                   
   
Year ended December 31,
 
   
2018
   
2017
   
2016
 
                   
Risk-free interest rate
 
2.06 - 2.33%
   
0.97 - 1.48%
   
0.56 - 0.59%
 
Expected life (months)
 
6.00
   
6.00
   
6.00
 
Expected volatility
 
31.50 - 37.36%
   
24.49 - 34.51%
   
39.51 - 49.13%
 
Expected dividend yield
 
0%
   
0%
   
0%