v3.26.3
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 29,361          
Foreign currency translation adjustment, net of tax 7,287          
Pension adjustment, net of tax (73)          
Ending balance (in shares) at Sep. 30, 2025   37,953        
Ending balance at Sep. 30, 2025 238,323 $ 38 $ (53,677) 127,726 170,940 (6,704)
Ending balance (in shares) at Sep. 30, 2025     4,172      
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      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net income 6,514       6,514  
Foreign currency translation adjustment, net of tax (934)         (934)
Stock-based compensation 3,374     3,374    
Vesting of restricted stock awards (in shares)   287        
Tax payments for stock issuances (in shares)   (137)        
Tax payments for stock issuances (2,004)     (2,004)    
Share repurchases (in shares)   (448) 448      
Share repurchases, inclusive of excise tax (6,297)   $ (6,297)      
Dividends declared (4,812)       (4,812)  
Pension adjustment, net of tax (25)         (25)
Ending balance (in shares) at Sep. 30, 2025   37,953        
Ending balance at Sep. 30, 2025 $ 238,323 $ 38 $ (53,677) 127,726 170,940 (6,704)
Ending balance (in shares) at Sep. 30, 2025     4,172      
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 (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 $ 26,144          
Foreign currency translation adjustment, net of tax (2,539)          
Pension adjustment, net of tax $ (91)          
Ending balance (in shares) at Sep. 30, 2026 36,819 36,819        
Ending balance at Sep. 30, 2026 $ 280,800 $ 37 $ (68,884) 137,844 220,578 (8,775)
Ending balance (in shares) at Sep. 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 (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        
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      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Net income 7,798       7,798  
Foreign currency translation adjustment, net of tax (286)         (286)
Stock-based compensation 5,484     5,484    
Vesting of restricted stock awards (in shares)   58        
Tax payments for stock issuances (in shares)   (22)        
Tax payments for stock issuances (365)     (365)    
Dividends declared (5,280)       (5,280)  
Pension adjustment, net of tax $ (31)         (31)
Ending balance (in shares) at Sep. 30, 2026 36,819 36,819        
Ending balance at Sep. 30, 2026 $ 280,800 $ 37 $ (68,884) $ 137,844 $ 220,578 $ (8,775)
Ending balance (in shares) at Sep. 30, 2026 5,469   5,469