XML 127 R32.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Stock-based compensation      
Maximum number of awards that may be received by an individual in any one calendar year (in shares) 100,000    
Number of shares of common stock remaining available for future grants of stock options, restricted stock or other forms of stock-based compensation under the 2001 Plan 34,106    
Stock-based compensation expense $ 3,182 $ 2,636 $ 2,236
Cost of revenues      
Stock-based compensation      
Stock-based compensation expense 248 211 197
Selling, general and administrative expense.      
Stock-based compensation      
Stock-based compensation expense $ 2,934 $ 2,425 $ 2,039
Maximum      
Stock-based compensation      
Number of shares of common stock that may be subject to outstanding awards granted under the 2001 Plan 874,589    
Options      
Stock-based compensation      
Expiration period 10 years    
Stock Options      
Outstanding at the beginning of the period (in shares) 54,000    
Granted (in shares) 9,900    
Exercised (in shares) (17,400)    
Outstanding at the end of the period (in shares) 46,500 54,000  
Exercisable at the end of the period (in shares) 36,500    
Weighted-Average Exercise Price      
Outstanding at the beginning of the period (in dollars per share) $ 100.58    
Granted (in dollars per share) 214.75    
Exercised (in dollars per share) 94.55    
Outstanding at the end of the period (in dollars per share) 127.15 $ 100.58  
Exercisable at the end of the period (in dollars per share) $ 105.01    
Aggregate Intrinsic Value      
Outstanding at the beginning of the period $ 2,170    
Granted 154    
Exercised 1,589    
Outstanding at the end of the period 4,799 $ 2,170  
Exercisable at the end of the period $ 4,575    
Additional disclosures      
Weighted-average fair value of stock options granted during the year (in dollars per share) $ 84.30 $ 49.76 $ 42.10
Weighted-average remaining contractual life for stock options 6 years 10 months 6 days 6 years 10 months 13 days 6 years 10 months 6 days
Total fair value of stock options vested during the year $ 434 $ 287 $ 321
Total intrinsic value of stock options exercised during the year $ 1,589 $ 157 $ 647
Weighted-average remaining contractual life of the outstanding and exercisable stock options 6 years 10 months 6 days    
Non-vested stock options 10,000    
Weighted-average assumptions used to estimate the fair value for the stock options      
Time period used to calculate weighted averages for fair value assumptions 5 years    
Options | Minimum      
Weighted-average assumptions used to estimate the fair value for the stock options      
Risk-free interest rates (as a percent) 3.41% 2.92% 0.86%
Dividend yield (as a percent) 0.35% 0.57% 0.46%
Volatility factor (as a percent) 0.389% 0.374% 0.366%
Options | Maximum      
Weighted-average assumptions used to estimate the fair value for the stock options      
Risk-free interest rates (as a percent) 3.84% 3.94% 1.26%
Dividend yield (as a percent) 0.48% 0.73% 0.50%
Volatility factor (as a percent) 0.40% 0.385% 0.373%
Expected life 5 years    
Options | Weighted-average      
Weighted-average assumptions used to estimate the fair value for the stock options      
Risk-free interest rates (as a percent) 3.74% 3.74% 1.19%
Dividend yield (as a percent) 0.39% 0.62% 0.49%
Volatility factor (as a percent) 0.397% 0.382% 0.371%
Restricted stock      
Restricted Stock      
Non-vested at the beginning of the period (in shares) 18,869    
Granted (in shares) 18,870    
Vested (in shares) (19,374)    
Forfeited (in shares) (118)    
Non-vested at the end of the period (in shares) 18,247 18,869  
Weighted-Average Grant-Date Fair Value      
Non-vested at the beginning of the period (in dollars per share) $ 132.73    
Granted (in dollars per share) 204.17    
Vested (in dollars per share) 137.43    
Forfeited (in dollars per share) 136.86    
Non-vested at the end of the period (in dollars per share) $ 201.59 $ 132.73  
Additional disclosures      
Total fair value of restricted stock vested during the year $ 2,663 $ 2,235 $ 2,096
Total compensation cost not yet recognized $ 3,656    
Weighted-average period for recognition of total compensation cost not yet recognized 1 year 2 months 1 day    
Restricted stock | Minimum      
Stock-based compensation      
Vesting period 6 months    
Restricted stock | Maximum      
Stock-based compensation      
Vesting period 3 years