XML 50 R34.htm IDEA: XBRL DOCUMENT v3.25.0.1
Note 10 - Stockholders' Equity (Tables)
12 Months Ended
Dec. 31, 2024
Notes Tables  
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
   

2024

   

2023

   

2022

 

Dividend yield

    0.63 %     1.02 %     1.06 %

Volatility

    36.7 %     43.0 %     44.6 %

Risk-free interest rate

    4.1 %     4.3 %     3.9 %

Weighted average expected option term (in years)

    4.4       4.5       4.5  

Weighted average fair value per share of options granted

  $ 34.99     $ 20.75     $ 18.10  
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)

   

(in thousands)

 
                                 

Balance outstanding at December 31, 2021

    846,754     $ 33.83       4.50     $ 13,888  
                                 

Granted

    159,275     $ 47.21                  

Exercised

    (133,963 )   $ 25.80             $ 3,021  

Canceled / Expired

    (12,091 )   $ 35.53                  

Balance outstanding at December 31, 2022

    859,975     $ 37.53       4.35     $ 7,878  
                                 

Granted

    148,115     $ 54.71                  

Exercised

    (207,643 )   $ 29.72             $ 5,914  

Canceled / Expired

    (19,323 )   $ 41.55                  

Balance outstanding at December 31, 2023

    781,124     $ 42.78       4.42     $ 10,924  
                                 

Granted

    125,834     $ 101.12                  

Exercised

    (178,064 )   $ 36.16             $ 7,271  

Canceled / Expired

    (9,458 )   $ 47.06                  

Balance outstanding at December 31, 2024

    719,436     $ 54.57       4.35     $ 28,160  
                                 

Exercisable at:

                               

December 31, 2022

    369,593     $ 32.16       3.17     $ 5,223  

December 31, 2023

    356,519     $ 36.83       3.21     $ 7,107  

December 31, 2024

    349,981     $ 41.39       3.16     $ 17,760  
                                 

Expected to vest at:

                               

December 31, 2022

    490,382     $ 41.59       5.23     $ 2,655  

December 31, 2023

    424,605     $ 47.78       5.43     $ 3,817  

December 31, 2024

    369,455     $ 67.05       5.46     $ 10,400  
Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]
           

Weighted

 
           

Average

 
   

Number

   

Grant Date

 
   

of Shares

   

Fair Value

 
                 

Balance outstanding at December 31, 2021

    133,831     $ 38.26  
                 

Granted

    51,031     $ 47.11  

Vested

    (45,489 )   $ 35.75  

Canceled

    (6,229 )   $ 40.79  
                 

Balance outstanding at December 31, 2022

    133,144     $ 42.38  
                 

Granted

    48,225     $ 54.68  

Vested

    (49,400 )   $ 39.31  

Canceled

    (5,975 )   $ 42.89  
                 

Balance outstanding at December 31, 2023

    125,994     $ 48.20  
                 

Granted

    33,851     $ 100.37  

Vested

    (49,521 )   $ 46.49  

Canceled

    (4,186 )   $ 49.51  
                 

Balance outstanding at December 31, 2024

    106,138     $ 65.28  
Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]
           

Weighted

 
           

Average

 
   

Number

   

Grant Date

 
   

of Shares

   

Fair Value

 
                 

Balance outstanding at December 31, 2021

    31,181     $ 48.60  
                 

Granted

    28,830     $ 47.13  

Vested

    -     $ -  

Canceled

    (31,538 )   $ 48.53  
                 

Balance outstanding at December 31, 2022

    28,473     $ 47.19  
                 

Granted

    26,883     $ 54.65  

Vested

    -     $ -  

Canceled

    (1,192 )   $ 47.19  
                 

Balance outstanding at December 31, 2023

    54,164     $ 50.85  
                 

Granted

    21,180     $ 100.79  

Vested

    (14,266 )   $ 47.23  

Canceled

    (1,148 )   $ 52.54  
                 

Balance outstanding at December 31, 2024

    59,930     $ 69.15  
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
   

2024

   

2023

   

2022

 
           

(in thousands)

         

Stock option awards

  $ 2,996     $ 2,705     $ 2,487  

Restricted stock units

    2,307       1,951       1,654  

Performance-based restricted stock units

    1,265       663       32  
                         

Total stock-based compensation

  $ 6,568     $ 5,319     $ 4,173  
   

2024

   

2023

   

2022

 
           

(in thousands)

         

Cost of sales

  $ 927     $ 686     $ 494  

Sales and marketing

    1,104       966       771  

General and administrative

    3,866       3,143       2,500  

Research and development

    671       524       408  
                         

Total stock-based compensation

  $ 6,568     $ 5,319     $ 4,173  
Schedule of Dividends Payable [Table Text Block]

Record Date

 

Payment Date

 

Per Share Amount

   

Dividend Payment

 
               

(in thousands)

 
Fiscal Year 2024                    

March 14, 2024

 

March 28, 2024

  $ 0.16     $ 3,589  

May 16, 2024

 

May 30, 2024

  $ 0.16     $ 3,593  

August 15, 2024

 

August 29, 2024

  $ 0.16     $ 3,596  

November 21, 2024

 

December 5, 2024

  $ 0.16     $ 3,600  
                     
Fiscal Year 2023                    

March 9, 2023

 

March 23, 2023

  $ 0.14     $ 3,099  

May 17, 2023

 

June 1, 2023

  $ 0.14     $ 3,116  

August 17, 2023

 

August 31, 2023

  $ 0.14     $ 3,117  

November 16, 2023

 

November 30, 2023

  $ 0.14     $ 3,117  
Performance-based Restricted Stock Units [Member]  
Notes Tables  
Accelerated Share Repurchases [Table Text Block]
   

2024

 
         

Shares of common stock repurchased for net settlement of equity awards

    2,041  

Average per share repurchase price

  $ 70.55  

Aggregate purchase price (in thousands)

  $ 144  
Restricted Stock Units (RSUs) [Member]  
Notes Tables  
Accelerated Share Repurchases [Table Text Block]
   

2024

   

2023

   

2022

 
                         

Shares of common stock repurchased for net settlement of equity awards

    17,272       15,917       13,690  

Average per share repurchase price

  $ 91.25     $ 53.59     $ 46.90  

Aggregate purchase price (in thousands)

  $ 1,576     $ 853     $ 642