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

2023

   

2022

   

2021

 

Dividend yield

    1.02 %     1.06 %     0.91 %

Volatility

    43.0 %     44.6 %     46.0 %

Risk-free interest rate

    4.3 %     3.9 %     1.1 %

Weighted average expected option term (in years)

    4.5       4.5       4.6  

Weighted average fair value per share of options granted

  $ 20.75     $ 18.10     $ 17.64  
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, 2020

    931,840     $ 28.22       4.49     $ 11,442  
                                 

Granted

    151,161     $ 48.60                  

Exercised

    (217,121 )   $ 20.95             $ 6,975  

Canceled / Expired

    (19,126 )   $ 23.18                  

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  
                                 
Exercisable at:                                

December 31, 2021

    301,692     $ 27.40       3.30     $ 6,886  

December 31, 2022

    369,593     $ 32.16       3.17     $ 5,223  

December 31, 2023

    356,519     $ 36.83       3.21     $ 7,107  
                                 
Expected to vest at:                                

December 31, 2021

    545,062     $ 37.38       5.16          

December 31, 2022

    490,382     $ 41.59       5.23          

December 31, 2023

    424,605     $ 47.78       5.43          
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, 2020

    147,015     $ 30.24  
                 

Granted

    48,298     $ 48.65  

Vested

    (51,414 )   $ 26.32  

Canceled

    (10,068 )   $ 30.70  
                 

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  
Accelerated Share Repurchases [Table Text Block]
   

2023

   

2022

   

2021

 
                         

Shares of common stock repurchased for net settlement of equity awards

    15,917       13,690       16,333  

Average per share repurchase price

  $ 53.59     $ 46.90     $ 49.10  

Aggregate purchase price (in thousands)

  $ 853     $ 642     $ 802  
Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]
           

Weighted

 
           

Average

 
   

Number

   

Grant Date

 
   

of Shares

   

Fair Value

 
                 

Balance outstanding at December 31, 2020

    -     $ -  
                 

Granted

    31,181     $ 48.60  

Vested

    -     $ -  

Canceled

    -     $ -  
                 

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  
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
   

2023

   

2022

   

2021

 
           

(in thousands)

         

Stock option awards

  $ 2,705     $ 2,487     $ 2,199  

Restricted stock units

    1,951       1,654       1,247  

Performance-based restricted stock units

    663       32       33  
                         

Total stock-based compensation

  $ 5,319     $ 4,173     $ 3,479  
   

2023

   

2022

   

2021

 
           

(in thousands)

         

Cost of sales

  $ 686     $ 494     $ 407  

Sales and marketing

    966       771       527  

General and administrative

    3,143       2,500       2,185  

Research and development

    524       408       360  
                         

Total stock-based compensation

  $ 5,319     $ 4,173     $ 3,479  
Schedule of Dividends Payable [Table Text Block]

Record Date

 

Payment Date

 

Per Share Amount

   

Dividend Payment

 
               

(in thousands)

 
Fiscal Year 2023                    

March 9, 2023

 

March 23, 2023

  $ 0.140     $ 3,099  

May 17, 2023

 

June 1, 2023

  $ 0.140     $ 3,116  

August 17, 2023

 

August 31, 2023

  $ 0.140     $ 3,117  

November 16, 2023

 

November 30, 2023

  $ 0.140     $ 3,117  
                     
Fiscal Year 2022                    

March 8, 2022

 

March 24, 2022

  $ 0.125     $ 2,743  

May 17, 2022

 

June 2, 2022

  $ 0.125     $ 2,745  

August 25, 2022

 

September 8, 2022

  $ 0.125     $ 2,750  

November 17, 2022

 

December 1, 2022

  $ 0.125     $ 2,750