CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($) shares in Thousands, $ in Thousands | Common Stock | Retained Earnings | Foreign Currency Translation Adjustments | Accumulated income (loss) on derivatives | Pension adjustments | Total |
Balance at the beginning at Dec. 31, 2022 | $ 83,852 | $ 143,576 | $ (16,925) | $ 5,556 | $ (594) | $ 215,465 |
Balance at the beginning (in shares) at Dec. 31, 2022 | 15,978 | | | | | |
Increase (Decrease) in Stockholders' Equity | | | | | | |
Stock transactions under employee benefit stock plans | $ 1,246 | | | | | 1,246 |
Stock transactions under employee benefit stock plans (in shares) | 31 | | | | | |
Issuance of restricted stock, net of forfeitures | $ (34) | | | | | (34) |
Issuance of restricted stock, net of forfeitures (in shares) | 103 | | | | | |
Share issuance in connection with acquisitions | $ 6,250 | | | | | 6,250 |
Share issuance in connection with acquisitions (in shares) | 185 | | | | | |
Stock-based compensation expense | $ 1,267 | | | | | 1,267 |
Shares withheld for payment of employee payroll taxes | $ (146) | | | | | (146) |
Shares withheld for payment of employee payroll taxes (in shares) | (4) | | | | | |
Comprehensive income (loss) | | | 1,354 | (1,565) | | (211) |
Tax effect of derivative transactions | | | | 432 | | 432 |
Net income | | 6,315 | | | | 6,315 |
Dividends to stockholders | | (403) | | | | (403) |
Balance at the ending at Mar. 31, 2023 | $ 92,435 | 149,488 | (15,571) | 4,423 | (594) | 230,181 |
Balance at the ending (in shares) at Mar. 31, 2023 | 16,293 | | | | | |
Balance at the beginning at Dec. 31, 2022 | $ 83,852 | 143,576 | (16,925) | 5,556 | (594) | 215,465 |
Balance at the beginning (in shares) at Dec. 31, 2022 | 15,978 | | | | | |
Increase (Decrease) in Stockholders' Equity | | | | | | |
Net income | | | | | | 19,750 |
Balance at the ending at Sep. 30, 2023 | $ 94,742 | 161,953 | (18,920) | 4,960 | (594) | 242,141 |
Balance at the ending (in shares) at Sep. 30, 2023 | 16,280 | | | | | |
Balance at the beginning at Mar. 31, 2023 | $ 92,435 | 149,488 | (15,571) | 4,423 | (594) | 230,181 |
Balance at the beginning (in shares) at Mar. 31, 2023 | 16,293 | | | | | |
Increase (Decrease) in Stockholders' Equity | | | | | | |
Issuance of restricted stock, net of forfeitures | $ 11 | | | | | 11 |
Issuance of restricted stock, net of forfeitures (in shares) | 14 | | | | | |
Stock-based compensation expense | $ 1,544 | | | | | 1,544 |
Shares withheld for payment of employee payroll taxes | $ (1,507) | | | | | (1,507) |
Shares withheld for payment of employee payroll taxes (in shares) | (39) | | | | | |
Comprehensive income (loss) | | | (426) | 930 | | 504 |
Tax effect of derivative transactions | | | | (223) | | (223) |
Net income | | 6,769 | | | | 6,769 |
Dividends to stockholders | | (485) | | | | (485) |
Balance at the ending at Jun. 30, 2023 | $ 92,483 | 155,772 | (15,997) | 5,130 | (594) | 236,794 |
Balance at the ending (in shares) at Jun. 30, 2023 | 16,268 | | | | | |
Increase (Decrease) in Stockholders' Equity | | | | | | |
Issuance of restricted stock, net of forfeitures (in shares) | (18) | | | | | |
Share issuance in connection with acquisitions | $ 1,079 | | | | | 1,079 |
Share issuance in connection with acquisitions (in shares) | 35 | | | | | |
Stock-based compensation expense | $ 1,354 | | | | | 1,354 |
Shares withheld for payment of employee payroll taxes | $ (174) | | | | | (174) |
Shares withheld for payment of employee payroll taxes (in shares) | (5) | | | | | |
Comprehensive income (loss) | | | (2,923) | (224) | | (3,147) |
Tax effect of derivative transactions | | | | 54 | | 54 |
Net income | | 6,666 | | | | 6,666 |
Dividends to stockholders | | (485) | | | | (485) |
Balance at the ending at Sep. 30, 2023 | $ 94,742 | 161,953 | (18,920) | 4,960 | (594) | 242,141 |
Balance at the ending (in shares) at Sep. 30, 2023 | 16,280 | | | | | |
Balance at the beginning at Dec. 31, 2023 | $ 95,937 | 165,813 | (13,256) | 3,425 | (344) | $ 251,575 |
Balance at the beginning (in shares) at Dec. 31, 2023 | 16,308 | | | | | 16,308 |
Increase (Decrease) in Stockholders' Equity | | | | | | |
Stock transactions under employee benefit stock plans | $ 1,564 | | | | | $ 1,564 |
Stock transactions under employee benefit stock plans (in shares) | 58 | | | | | |
Issuance of restricted stock, net of forfeitures | $ (139) | | | | | (139) |
Issuance of restricted stock, net of forfeitures (in shares) | 167 | | | | | |
Share issuance in connection with acquisitions | $ 6,250 | | | | | 6,250 |
Share issuance in connection with acquisitions (in shares) | 203 | | | | | |
Share issuance to settle contingent consideration | $ 4,874 | | | | | 4,874 |
Share issuance to settle contingent consideration (in shares) | 174 | | | | | |
Stock-based compensation expense | $ 1,211 | | | | | 1,211 |
Shares withheld for payment of employee payroll taxes | $ (121) | | | | | (121) |
Shares withheld for payment of employee payroll taxes (in shares) | (4) | | | | | |
Comprehensive income (loss) | | | (4,408) | (102) | | (4,510) |
Tax effect of derivative transactions | | | | 24 | | 24 |
Net income | | 6,902 | | | | 6,902 |
Dividends to stockholders | | (500) | | | | (500) |
Balance at the ending at Mar. 31, 2024 | $ 109,576 | 172,215 | (17,664) | 3,347 | (344) | 267,130 |
Balance at the ending (in shares) at Mar. 31, 2024 | 16,906 | | | | | |
Balance at the beginning at Dec. 31, 2023 | $ 95,937 | 165,813 | (13,256) | 3,425 | (344) | $ 251,575 |
Balance at the beginning (in shares) at Dec. 31, 2023 | 16,308 | | | | | 16,308 |
Increase (Decrease) in Stockholders' Equity | | | | | | |
Net income | | | | | | $ 10,153 |
Balance at the ending at Sep. 30, 2024 | $ 110,278 | 174,497 | (13,021) | 1,457 | (344) | $ 272,867 |
Balance at the ending (in shares) at Sep. 30, 2024 | 16,840 | | | | | 16,840 |
Balance at the beginning at Mar. 31, 2024 | $ 109,576 | 172,215 | (17,664) | 3,347 | (344) | $ 267,130 |
Balance at the beginning (in shares) at Mar. 31, 2024 | 16,906 | | | | | |
Increase (Decrease) in Stockholders' Equity | | | | | | |
Issuance of restricted stock, net of forfeitures (in shares) | (23) | | | | | |
Stock-based compensation expense | $ 1,073 | | | | | 1,073 |
Shares withheld for payment of employee payroll taxes | $ (1,446) | | | | | (1,446) |
Shares withheld for payment of employee payroll taxes (in shares) | (42) | | | | | |
Comprehensive income (loss) | | | (1,178) | (673) | | (1,851) |
Tax effect of derivative transactions | | | | 162 | | 162 |
Net income | | 1,150 | | | | 1,150 |
Dividends to stockholders | | (503) | | | | (503) |
Balance at the ending at Jun. 30, 2024 | $ 109,203 | 172,862 | (18,842) | 2,836 | (344) | 265,715 |
Balance at the ending (in shares) at Jun. 30, 2024 | 16,841 | | | | | |
Increase (Decrease) in Stockholders' Equity | | | | | | |
Stock-based compensation expense | $ 1,098 | | | | | 1,098 |
Shares withheld for payment of employee payroll taxes | $ (23) | | | | | (23) |
Shares withheld for payment of employee payroll taxes (in shares) | (1) | | | | | |
Comprehensive income (loss) | | | 5,821 | (1,809) | | 4,012 |
Tax effect of derivative transactions | | | | 430 | | 430 |
Net income | | 2,101 | | | | 2,101 |
Dividends to stockholders | | (466) | | | | (466) |
Balance at the ending at Sep. 30, 2024 | $ 110,278 | $ 174,497 | $ (13,021) | $ 1,457 | $ (344) | $ 272,867 |
Balance at the ending (in shares) at Sep. 30, 2024 | 16,840 | | | | | 16,840 |