Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($) $ in Thousands |
Total |
Common Stock [Member] |
Capital in Excess of Par Value [Member] |
Accumulated Loss [Member] |
Accumulated Other Comprehensive Loss [Member] |
Noncontrolling Interest [Member] |
Beginning Balance at Dec. 31, 2021 |
$ 205,957
|
$ 350
|
$ 252,989
|
$ (36,715)
|
$ (12,070)
|
$ 1,403
|
Beginning Balance, Shares at Dec. 31, 2021 |
|
35,028
|
|
|
|
|
Net income |
2,810
|
|
|
2,792
|
|
18
|
Restricted stock units issued |
(67)
|
|
(67)
|
|
|
|
Restricted stock units issued, Shares |
|
34
|
|
|
|
|
Share based compensation earned |
953
|
|
953
|
|
|
|
Share based compensation earned, Shares |
|
14
|
|
|
|
|
Translation gain (loss) |
(531)
|
|
|
|
(531)
|
|
Noncontrolling interest distribution |
(900)
|
|
|
|
|
(900)
|
Fair value of noncontrolling interest equity issued |
5,000
|
|
|
|
|
5,000
|
Ending Balance at Mar. 31, 2022 |
213,222
|
$ 350
|
253,875
|
(33,923)
|
(12,601)
|
5,521
|
Ending Balance, Shares at Mar. 31, 2022 |
|
35,076
|
|
|
|
|
Beginning Balance at Dec. 31, 2021 |
205,957
|
$ 350
|
252,989
|
(36,715)
|
(12,070)
|
1,403
|
Beginning Balance, Shares at Dec. 31, 2021 |
|
35,028
|
|
|
|
|
Net income |
9,701
|
|
|
|
|
|
Translation gain (loss) |
(9,387)
|
|
|
|
|
|
Common stock repurchase and retirement (see Note 9) |
$ (6,500)
|
|
|
|
|
|
Common stock repurchase and retirement (see Note 9), Shares |
981,000
|
|
|
|
|
|
Ending Balance at Sep. 30, 2022 |
$ 205,420
|
$ 343
|
249,248
|
(27,595)
|
(21,457)
|
4,881
|
Ending Balance, Shares at Sep. 30, 2022 |
|
34,330
|
|
|
|
|
Beginning Balance at Mar. 31, 2022 |
213,222
|
$ 350
|
253,875
|
(33,923)
|
(12,601)
|
5,521
|
Beginning Balance, Shares at Mar. 31, 2022 |
|
35,076
|
|
|
|
|
Net income |
4,724
|
|
|
4,385
|
|
339
|
Restricted stock units issued |
(209)
|
$ (2)
|
(211)
|
|
|
|
Restricted stock units issued, Shares |
|
183
|
|
|
|
|
Share based compensation earned |
915
|
|
915
|
|
|
|
Translation gain (loss) |
(2,966)
|
|
|
|
(2,966)
|
|
Fair value of noncontrolling interest equity |
(901)
|
|
|
|
|
(901)
|
Common stock repurchase and retirement (see Note 9) |
(4,324)
|
$ (7)
|
(4,317)
|
|
|
|
Common stock repurchase and retirement (see Note 9), Shares |
|
(725)
|
|
|
|
|
Ending Balance at Jun. 30, 2022 |
210,461
|
$ 345
|
250,262
|
(29,538)
|
(15,567)
|
4,959
|
Ending Balance, Shares at Jun. 30, 2022 |
|
34,534
|
|
|
|
|
Net income |
2,166
|
|
|
1,943
|
|
223
|
Restricted stock units issued |
(65)
|
|
(65)
|
|
|
|
Restricted stock units issued, Shares |
|
32
|
|
|
|
|
Share based compensation earned |
1,242
|
|
1,242
|
|
|
|
Share based compensation earned, Shares |
|
20
|
|
|
|
|
Translation gain (loss) |
(5,890)
|
|
|
|
(5,890)
|
|
Noncontrolling interest distribution |
(301)
|
|
|
|
|
(301)
|
Common stock repurchase and retirement (see Note 9) |
$ (2,193)
|
$ (2)
|
(2,191)
|
|
|
|
Common stock repurchase and retirement (see Note 9), Shares |
256,000
|
(256)
|
|
|
|
|
Ending Balance at Sep. 30, 2022 |
$ 205,420
|
$ 343
|
249,248
|
(27,595)
|
(21,457)
|
4,881
|
Ending Balance, Shares at Sep. 30, 2022 |
|
34,330
|
|
|
|
|
Beginning Balance at Dec. 31, 2022 |
218,148
|
$ 344
|
250,174
|
(19,298)
|
(17,996)
|
4,924
|
Beginning Balance, Shares at Dec. 31, 2022 |
|
34,382
|
|
|
|
|
Net income |
2,469
|
|
|
1,978
|
|
491
|
Exercise of stock options |
612
|
$ 1
|
611
|
|
|
|
Exercise of stock options, Shares |
|
52
|
|
|
|
|
Restricted stock units issued |
(621)
|
$ 1
|
(622)
|
|
|
|
Restricted stock units issued, Shares |
|
123
|
|
|
|
|
Share based compensation earned |
808
|
|
808
|
|
|
|
Translation gain (loss) |
766
|
|
|
|
766
|
|
Ending Balance at Mar. 31, 2023 |
222,182
|
$ 346
|
250,971
|
(17,320)
|
(17,230)
|
5,415
|
Ending Balance, Shares at Mar. 31, 2023 |
|
34,557
|
|
|
|
|
Beginning Balance at Dec. 31, 2022 |
218,148
|
$ 344
|
250,174
|
(19,298)
|
(17,996)
|
4,924
|
Beginning Balance, Shares at Dec. 31, 2022 |
|
34,382
|
|
|
|
|
Net income |
10,172
|
|
|
|
|
|
Translation gain (loss) |
(255)
|
|
|
|
|
|
Common stock repurchase and retirement (see Note 9) |
$ 0
|
|
|
|
|
|
Common stock repurchase and retirement (see Note 9), Shares |
0
|
|
|
|
|
|
Ending Balance at Sep. 30, 2023 |
$ 230,142
|
$ 347
|
253,613
|
(10,266)
|
(18,251)
|
4,699
|
Ending Balance, Shares at Sep. 30, 2023 |
|
34,811
|
|
|
|
|
Beginning Balance at Mar. 31, 2023 |
222,182
|
$ 346
|
250,971
|
(17,320)
|
(17,230)
|
5,415
|
Beginning Balance, Shares at Mar. 31, 2023 |
|
34,557
|
|
|
|
|
Net income |
3,990
|
|
|
3,724
|
|
266
|
Exercise of stock options |
317
|
|
317
|
|
|
|
Exercise of stock options, Shares |
|
25
|
|
|
|
|
Restricted stock units issued |
(270)
|
$ 1
|
(271)
|
|
|
|
Restricted stock units issued, Shares |
|
132
|
|
|
|
|
Share based compensation earned |
1,389
|
|
1,389
|
|
|
|
Share based compensation earned, Shares |
|
24
|
|
|
|
|
Translation gain (loss) |
139
|
|
|
|
139
|
|
Noncontrolling interest distribution |
(599)
|
|
|
|
|
(599)
|
Ending Balance at Jun. 30, 2023 |
227,148
|
$ 347
|
252,406
|
(13,596)
|
(17,091)
|
5,082
|
Ending Balance, Shares at Jun. 30, 2023 |
|
34,738
|
|
|
|
|
Net income |
3,712
|
|
|
3,330
|
|
382
|
Exercise of stock options |
281
|
|
281
|
|
|
|
Exercise of stock options, Shares |
|
25
|
|
|
|
|
Restricted stock units issued |
(203)
|
|
(203)
|
|
|
|
Restricted stock units issued, Shares |
|
48
|
|
|
|
|
Share based compensation earned |
1,129
|
|
1,129
|
|
|
|
Translation gain (loss) |
(1,160)
|
|
|
|
(1,160)
|
|
Noncontrolling interest distribution |
(765)
|
|
|
|
|
(765)
|
Common stock repurchase and retirement (see Note 9) |
$ 0
|
|
|
|
|
|
Common stock repurchase and retirement (see Note 9), Shares |
0
|
|
|
|
|
|
Ending Balance at Sep. 30, 2023 |
$ 230,142
|
$ 347
|
$ 253,613
|
$ (10,266)
|
$ (18,251)
|
$ 4,699
|
Ending Balance, Shares at Sep. 30, 2023 |
|
34,811
|
|
|
|
|