v3.26.1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Treasury - Common Stock
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Income (Loss)
Beginning balance (in shares) at Dec. 31, 2024   38,058        
Beginning balance at Dec. 31, 2024 $ 212,530 $ 38 $ (47,380) $ 122,534 $ 151,256 $ (13,918)
Beginning balance (in shares) at Dec. 31, 2024     3,724      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net income 14,505       14,505  
Foreign currency translation adjustment, net of tax 2,674         2,674
Stock-based compensation 2,776     2,776    
Vesting of restricted stock awards (in shares)   179        
Tax payments for stock issuances (in shares)   (80)        
Tax payments for stock issuances (1,327)     (1,327)    
Dividends declared (15)       (15)  
Pension adjustment, net of tax (24)         (24)
Ending balance (in shares) at Mar. 31, 2025   38,157        
Ending balance at Mar. 31, 2025 231,119 $ 38 $ (47,380) 123,983 165,746 (11,268)
Ending balance (in shares) at Mar. 31, 2025     3,724      
Beginning balance (in shares) at Dec. 31, 2024   38,058        
Beginning balance at Dec. 31, 2024 212,530 $ 38 $ (47,380) 122,534 151,256 (13,918)
Beginning balance (in shares) at Dec. 31, 2024     3,724      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net income 22,847          
Foreign currency translation adjustment, net of tax 8,221          
Pension adjustment, net of tax (48)          
Ending balance (in shares) at Jun. 30, 2025   38,251        
Ending balance at Jun. 30, 2025 242,507 $ 38 $ (47,380) 126,356 169,238 (5,745)
Ending balance (in shares) at Jun. 30, 2025     3,724      
Beginning balance (in shares) at Mar. 31, 2025   38,157        
Beginning balance at Mar. 31, 2025 231,119 $ 38 $ (47,380) 123,983 165,746 (11,268)
Beginning balance (in shares) at Mar. 31, 2025     3,724      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net income 8,342       8,342  
Foreign currency translation adjustment, net of tax 5,547         5,547
Stock-based compensation 3,451     3,451    
Vesting of restricted stock awards (in shares)   157        
Tax payments for stock issuances (in shares)   (63)        
Tax payments for stock issuances (1,078)     (1,078)    
Dividends declared (4,850)       (4,850)  
Pension adjustment, net of tax (24)         (24)
Ending balance (in shares) at Jun. 30, 2025   38,251        
Ending balance at Jun. 30, 2025 $ 242,507 $ 38 $ (47,380) 126,356 169,238 (5,745)
Ending balance (in shares) at Jun. 30, 2025     3,724      
Beginning balance (in shares) at Dec. 31, 2025 37,361 37,361        
Beginning balance at Dec. 31, 2025 $ 271,843 $ 37 $ (60,521) 128,651 209,821 (6,145)
Beginning balance (in shares) at Dec. 31, 2025 4,730   4,730      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net income $ 11,565       11,565  
Foreign currency translation adjustment, net of tax (1,887)         (1,887)
Stock-based compensation 1,876     1,876    
Vesting of restricted stock awards (in shares)   220        
Tax payments for stock issuances (in shares)   (91)        
Tax payments for stock issuances (986)     (986)    
Share repurchases, inclusive of excise tax (in shares)   (508) 508      
Share repurchases, inclusive of excise tax (5,401)   $ (5,401)      
Dividends declared (4,963)       (4,963)  
Pension adjustment, net of tax (31)         (31)
Ending balance (in shares) at Mar. 31, 2026   36,982        
Ending balance at Mar. 31, 2026 $ 272,016 $ 37 $ (65,922) 129,541 216,423 (8,063)
Ending balance (in shares) at Mar. 31, 2026     5,238      
Beginning balance (in shares) at Dec. 31, 2025 37,361 37,361        
Beginning balance at Dec. 31, 2025 $ 271,843 $ 37 $ (60,521) 128,651 209,821 (6,145)
Beginning balance (in shares) at Dec. 31, 2025 4,730   4,730      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net income $ 18,346          
Foreign currency translation adjustment, net of tax (2,253)          
Pension adjustment, net of tax $ (60)          
Ending balance (in shares) at Jun. 30, 2026 36,783 36,783        
Ending balance at Jun. 30, 2026 $ 273,480 $ 37 $ (68,884) 132,725 218,060 (8,458)
Ending balance (in shares) at Jun. 30, 2026 5,469   5,469      
Beginning balance (in shares) at Mar. 31, 2026   36,982        
Beginning balance at Mar. 31, 2026 $ 272,016 $ 37 $ (65,922) 129,541 216,423 (8,063)
Beginning balance (in shares) at Mar. 31, 2026     5,238      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net income 6,781       6,781  
Foreign currency translation adjustment, net of tax (366)         (366)
Stock-based compensation 3,442     3,442    
Vesting of restricted stock awards (in shares)   53        
Tax payments for stock issuances (in shares)   (21)        
Tax payments for stock issuances (258)     (258)    
Share repurchases, inclusive of excise tax (in shares)   (231) 231      
Share repurchases, inclusive of excise tax (2,962)   $ (2,962)      
Dividends declared (5,144)       (5,144)  
Pension adjustment, net of tax $ (29)         (29)
Ending balance (in shares) at Jun. 30, 2026 36,783 36,783        
Ending balance at Jun. 30, 2026 $ 273,480 $ 37 $ (68,884) $ 132,725 $ 218,060 $ (8,458)
Ending balance (in shares) at Jun. 30, 2026 5,469   5,469