XML 51 R34.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 13 - Stock-based Compensation (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Share-based Payment Arrangement, Cost by Plan [Table Text Block]
  

Year Ended December 31,

 

(in thousands)

 

2021

  

2020

  

2019

 
             

Stock options and other

 $17,553  $13,327  $9,591 

Employee stock purchase plan

  1,542   1,346   1,190 

Total stock-based compensation expense

 $19,095  $14,673  $10,781 
             

Cost of revenue

 $2,595  $2,451  $2,056 

Operating expenses:

            

Marketing and sales

  3,736   3,121   2,632 

Research and development

  2,833   2,440   1,851 

General and administrative

  9,931   6,661   4,242 

Total stock-based compensation expense

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

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Risk-free interest rate

  0.80 - 1.12%   0.50 - 1.47%   2.35 - 2.58% 

Expected life (years)

  6.25   6.25   6.25 

Expected volatility

  45.28 - 45.53%   42.40 - 43.83%   42.52 - 42.74% 

Expected dividend yield

  0%   0%   0% 

Weighted average grant date fair value

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

Weighted-

 
      

Average

 
  

Stock Options

  

Exercise Price

 
         

Options outstanding at January 1, 2019

  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 

Granted

  57,901   128.14 

Exercised

  (28,991)  58.78 

Cancelled

  (25,057)  109.31 

Options outstanding at December 31, 2021

  233,384  $97.78 
         

Exercisable at December 31, 2021

  115,700  $81.30 
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.43

 4,624  0.35  

30.58

  4,624  

30.58

 

$31.44 to $66.87

 50,159  3.58  

57.13

  45,986  

57.02

 

$66.88 to $96.20

 41,586  7.82  

89.95

  9,570  

71.68

 

$96.21 to $180.46

 137,015  7.67  

117.31

  55,520  

107.28

 
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, 2019

  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 

Granted

  205,996   123.61 

Restrictions lapsed

  (115,908)  91.26 

Forfeited

  (53,505)  128.05 

Restricted stock at December 31, 2021

  343,782  $111.79 
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, 2019

  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 

Granted

  15,078   203.64 

Restrictions lapsed

  -   - 

Performance change

  (10,366)  192.95 

Forfeited

  (7,829)  113.91 

Performance stock at December 31, 2021

  16,839  $115.56 
Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
          

Risk-free interest rate

 0.06 - 0.17%  0.12 - 0.17%  1.59 - 2.35% 

Expected life (months)

 6.00  6.00  6.00 

Expected volatility

 53.44 - 65.53%  50.85 - 59.99%  42.63 - 53.57% 

Expected dividend yield

 0%  0%  0%