XML 48 R33.htm IDEA: XBRL DOCUMENT v3.20.4
Note 12 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2020
Notes Tables  
Share-based Payment Arrangement, Cost by Plan [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2020

  

2019

  

2018

 
             

Stock options and other

 $13,327  $9,591  $10,113 

Employee stock purchase plan

  1,346   1,190   815 

Total stock-based compensation expense

 $14,673  $10,781  $10,928 
             

Cost of revenue

 $2,451  $2,056  $1,543 

Operating expenses:

            

Marketing and sales

  3,121   2,632   1,942 

Research and development

  2,440   1,851   1,517 

General and administrative

  6,661   4,242   5,926 

Total stock-based compensation expense

 $14,673  $10,781  $10,928 
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

Year Ended December 31,

 
  

2020

  

2019

  

2018

 
             

Risk-free interest rate

  0.50 - 1.47%   2.35 - 2.58%   2.52 - 3.07% 

Expected life (years)

  6.25   6.25   6.25 

Expected volatility

  42.40 - 43.83%   42.52 - 42.74%   41.68 - 42.22% 

Expected dividend yield

  0%   0%   0% 

Weighted average grant date fair value

  $45.32   $47.84   $50.08 
Share-based Payment Arrangement, Option, Activity [Table Text Block]
      

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 
         

Options outstanding at January 1, 2018

  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 

Granted

  53,708   105.81 

Exercised

  (16,079)  48.67 

Cancelled

  (13,979)  89.50 

Options outstanding at December 31, 2019

  276,266   72.38 

Granted

  60,065   105.79 

Exercised

  (68,958)  57.00 

Cancelled

  (37,842)  67.92 

Options outstanding at December 31, 2020

  229,531  $86.46 
         

Exercisable at December 31, 2020

  94,318  $69.36 
Share-based Payment Arrangement, Option, 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 ($) 
                  
$7.76 to $31.435,964 1.35  30.58  5,964  30.58 
$31.44 to $66.8778,482 4.81  57.51  56,032  57.18 
$66.88 to $96.2010,591 4.42  74.05  9,343  71.09 
$96.21 to $123.10134,494 8.45  106.81  22,979  108.41 
Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]
      

Weighted-

 
      

Average

 
      

Grant Date

 
  

Restricted

  

Fair Value

 
  

Stock Awards

  

Per Share

 
         

Restricted stock at January 1, 2018

  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 

Granted

  115,471   106.35 

Restrictions lapsed

  (92,597)  77.25 

Forfeited

  (31,822)  87.58 

Restricted stock at December 31, 2019

  314,973   89.55 

Granted

  108,179   111.76 

Restrictions lapsed

  (101,941)  84.70 

Forfeited

  (14,012)  94.24 

Restricted stock at December 31, 2020

  307,199  $98.87 
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, 2018

  25,707  $58.35 

Granted

  20,006   105.75 

Restrictions lapsed

  -   - 
Performance change  6,427   58.35 

Forfeited

  -   - 

Performance stock at December 31, 2018

  52,140   76.54 

Granted

  21,434   104.99 

Restrictions lapsed

  -   - 

Performance change

  (61,816)  88.06 

Forfeited

  (2,375)  105.37 

Performance stock at December 31, 2019

  9,383   58.35 

Granted

  19,956   118.66 

Restrictions lapsed

  (7,113)  58.35 

Performance change

  -   - 

Forfeited

  (2,270)  58.35 

Performance stock at December 31, 2020

  19,956  $118.66 
Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]
  

Year Ended December 31,

 
  

2020

  

2019

  

2018

 
          

Risk-free interest rate

 0.12 - 0.17%  1.59 - 2.35%  2.06 - 2.33% 

Expected life (months)

 6.00  6.00  6.00 

Expected volatility

 50.85 - 59.99%  42.63 - 53.57%  31.50 - 37.36% 

Expected dividend yield

 0%  0%  0%