XML 56 R41.htm IDEA: XBRL DOCUMENT v3.24.0.1
Note 12 - Stockholders' Equity (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Schedule of Capital Reserved for Future Issuance [Table Text Block]

Stock options outstanding under 2019 Equity Incentive Plan

  807,685 

Restricted stock units outstanding under 2019 Equity Incentive Plan

  333,716 

Performance stock units outstanding under 2019 Equity Incentive Plan

  423,621 

Shares authorized for future issuance under 2019 Equity Incentive Plan

  3,130,991 

Shares authorized for future issuance under 2019 Employee Stock Purchase Plan

  1,130,770 

Total

  5,826,783 
Share-Based Payment Arrangement, Cost by Plan [Table Text Block]

 

Year ended December 31,

 

 

2023

  

2022

  

2021

 

 

(in thousands)

 

Stock-Based Compensation Expense

 $14,913  $11,624  $5,584 
Share-Based Payment Arrangement, Activity [Table Text Block]
  

Number of

  Weighted-average exercise  Weighted average remaining contractual term  Aggregate intrinsic value 
  

shares

  

price

  

(in years)

  

(in thousands)

 

Outstanding at January 1, 2023

  882,892  $33.85     $ 

Options granted

              

Options exercised

  (61,258)  20.21         

Options canceled

  (13,949)  67.08         

Outstanding at December 31, 2023

  807,685  $34.31   5.83  $21,635 

Vested and Exercisable at December 31, 2023

  747,105  $32.11   5.69  $21,414 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

Year ended December 31,

 
  

2023 (1

) 

2021

    
  

(in thousands)

 

Risk free rate of return (2)

  %  1.69% - 4.23%   0.57% - 1.35% 

Expected share price volatility (3)

  0.00%  39.73% - 43.03%   26.06% - 39.41% 

Expected life in years (4)

     5.89   5.89 

Dividend yield (5)

  0%  0%  0%
Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]
  Number of shares  Weighted-average grant date fair value 

Non vested outstanding at January 1, 2023

  271,951  $68.90 

Granted

  170,140   51.55 

Vested

  (86,083)  69.43 

Forfeited

  (22,292)  52.56 

Non vested outstanding at December 31, 2023

  333,716  $61.01 
Schedule of Nonvested Performance-Based Units Activity [Table Text Block]
  Number of shares  Weighted-average grant date fair value 

Non vested outstanding at January 1, 2023

  383,103  $37.62 

Granted

  46,029   51.36 

Vested

      

Forfeited

  (5,511)  54.33 

Non vested outstanding at December 31, 2023

  423,621  $38.90