v3.26.1
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Foreign Exchange Forward [Member]
Common Stock [Member]
Foreign Exchange Forward [Member]
Additional Paid-in Capital [Member]
Foreign Exchange Forward [Member]
Retained Earnings [Member]
Foreign Exchange Forward [Member]
AOCI Attributable to Parent [Member]
Foreign Exchange Forward [Member]
Interest Rate Swap [Member]
Common Stock [Member]
Interest Rate Swap [Member]
Additional Paid-in Capital [Member]
Interest Rate Swap [Member]
Retained Earnings [Member]
Interest Rate Swap [Member]
AOCI Attributable to Parent [Member]
Interest Rate Swap [Member]
Pension Plan [Member]
Common Stock [Member]
Pension Plan [Member]
Additional Paid-in Capital [Member]
Pension Plan [Member]
Retained Earnings [Member]
Pension Plan [Member]
AOCI Attributable to Parent [Member]
Pension Plan [Member]
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balances (in shares) at Dec. 31, 2024                               9,918,711        
Balances at Dec. 31, 2024                               $ 99 $ 128,407 $ 246,331 $ (834) $ 374,003
Net income                               $ 0 0 13,027 0 13,027
Unrealized gain (loss) on derivatives designated as cash flow hedge $ 0 $ 0 $ 0 $ (200) $ (200) $ 0 $ 0 $ 0 $ (13) $ (13)                    
Issuance of common stock under stock compensation plans, net of tax withholdings (in shares)                               94,718        
Issuance of common stock under stock compensation plans, net of tax withholdings                               $ 1 (2,314) 0 0 (2,313)
Repurchase of common stock (in shares)                               (192,199)        
Repurchase of common stock                               $ (2) (7,775) 0 0 (7,777)
Share-based compensation expense                               $ 0 2,692 0 0 2,692
Pension liability adjustment, net of tax expense of $0                     $ 0 $ 0 $ 0 $ 33 $ 33          
Balances (in shares) at Jun. 30, 2025                               9,821,230        
Balances at Jun. 30, 2025                               $ 98 121,010 259,358 (1,014) 379,452
Balances (in shares) at Mar. 31, 2025                               10,000,433        
Balances at Mar. 31, 2025                               $ 100 128,924 250,295 (863) 378,456
Net income                               $ 0 0 9,063 0 9,063
Unrealized gain (loss) on derivatives designated as cash flow hedge 0 0 0 (170) (170) 0 0 0 2 2                    
Issuance of common stock under stock compensation plans, net of tax withholdings (in shares)                               12,996        
Issuance of common stock under stock compensation plans, net of tax withholdings                               $ 0 (1,693) 0 0 (1,693)
Repurchase of common stock (in shares)                               (192,199)        
Repurchase of common stock                               $ (2) (7,775) 0 0 (7,777)
Share-based compensation expense                               $ 0 1,554 0 0 1,554
Pension liability adjustment, net of tax expense of $0                     $ 0 $ 0 $ 0 $ 17 17          
Balances (in shares) at Jun. 30, 2025                               9,821,230        
Balances at Jun. 30, 2025                               $ 98 121,010 259,358 (1,014) 379,452
Balances (in shares) at Dec. 31, 2025                               9,587,990        
Balances at Dec. 31, 2025                               $ 96 113,088 281,742 (143) 394,783
Net income                               $ 0 0 26,368 0 26,368
Unrealized gain (loss) on derivatives designated as cash flow hedge 0 0 0 329 329 0 0 0 6 6                    
Issuance of common stock under stock compensation plans, net of tax withholdings (in shares)                               87,074        
Issuance of common stock under stock compensation plans, net of tax withholdings                               $ 0 (4,058) 0 0 (4,058)
Repurchase of common stock (in shares)                               (35,062)        
Repurchase of common stock                               $ 0 (2,529) 0 0 (2,529)
Share-based compensation expense                               $ 0 3,703 0 0 3,703
Pension liability adjustment, net of tax expense of $0                             0          
Balances (in shares) at Jun. 30, 2026                               9,640,002        
Balances at Jun. 30, 2026                               $ 96 110,204 308,110 192 418,602
Balances (in shares) at Mar. 31, 2026                               9,637,008        
Balances at Mar. 31, 2026                               $ 96 111,315 292,276 41 403,728
Net income                               $ 0 0 15,834 0 15,834
Unrealized gain (loss) on derivatives designated as cash flow hedge $ 0 $ 0 $ 0 $ 149 $ 149 $ 0 $ 0 $ 0 $ 2 $ 2                    
Issuance of common stock under stock compensation plans, net of tax withholdings (in shares)                               5,394        
Issuance of common stock under stock compensation plans, net of tax withholdings                               $ 0 (3,175) 0 0 (3,175)
Repurchase of common stock (in shares)                               (2,400)        
Repurchase of common stock                               $ 0 (335) 0 0 (335)
Share-based compensation expense                               $ 0 2,399 0 0 2,399
Pension liability adjustment, net of tax expense of $0                             $ 0          
Balances (in shares) at Jun. 30, 2026                               9,640,002        
Balances at Jun. 30, 2026                               $ 96 $ 110,204 $ 308,110 $ 192 $ 418,602