| Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] |
| | | December 31, | |
| | | 2025 | | | 2024 | |
| Foreign currency translation adjustment, net of taxes of ($312) at December 31, 2025 and ($312) at December 31, 2024 | | $ | (19,490 | ) | | $ | (21,966 | ) |
| Unrealized holding gains on interest rate swap cash flow hedge, net of taxes of $0 at December 31, 2025 and $0 at December 31, 2024 | | | 906 | | | | 2,729 | |
| Unrealized holding gains on marketable securities, net of taxes of ($7) at December 31, 2025 and ($7) at December 31, 2024 | | | 21 | | | | 21 | |
| Unfunded SERP liability, net of taxes of $1,003 at December 31, 2025 and $1,183 at December 31, 2024 | | | 1,389 | | | | 1,989 | |
| | | | | | | | | |
| Accumulated other comprehensive loss | | $ | (17,174 | ) | | $ | (17,227 | ) |
|
| Schedule of Changes in Accumulated Other Comprehensive Income (Loss) by Component [Table Text Block] |
| |
|
Foreign Currency Translation Adjustment |
|
|
Unrealized Gains (Losses) on Interest Rate Swap Cash Flow Hedge |
|
|
Unrealized Holding Gains (Losses) on Marketable Securities |
|
|
Unfunded SERP Liability |
|
|
|
Total |
|
| Balance at January 1, 2023 |
|
$ |
(23,107 |
) |
|
$ |
5,539 |
|
|
$ |
18 |
|
|
$ |
1,004 |
|
|
|
$ |
(16,546 |
) |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Other comprehensive income (loss) before reclassifications |
|
|
7,221 |
|
|
|
(1,579 |
) |
|
|
1 |
|
|
|
(542 |
) |
|
|
|
5,101 |
|
| Amounts reclassified from accumulated other comprehensive income (loss) |
|
|
(537 |
) |
|
|
- |
|
|
|
- |
|
|
|
(55 |
) |
(a) |
|
|
(592 |
) |
| Net current period other comprehensive income (loss) |
|
|
6,684 |
|
|
|
(1,579 |
) |
|
|
1 |
|
|
|
(597 |
) |
|
|
|
4,509 |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Balance at December 31, 2023 |
|
|
(16,423 |
) |
|
|
3,960 |
|
|
|
19 |
|
|
|
407 |
|
|
|
|
(12,037 |
) |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Other comprehensive income (loss) before reclassifications |
|
|
(5,077 |
) |
|
|
(1,231 |
) |
|
|
2 |
|
|
|
1,644 |
|
|
|
|
(4,662 |
) |
| Amounts reclassified from accumulated other comprehensive income (loss) |
|
|
(466 |
) |
|
|
- |
|
|
|
- |
|
|
|
(62 |
) |
(a) |
|
|
(528 |
) |
| Net current period other comprehensive income (loss) |
|
|
(5,543 |
) |
|
|
(1,231 |
) |
|
|
2 |
|
|
|
1,582 |
|
|
|
|
(5,190 |
) |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Balance at December 31, 2024 |
|
|
(21,966 |
) |
|
|
2,729 |
|
|
|
21 |
|
|
|
1,989 |
|
|
|
|
(17,227 |
) |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Other comprehensive income (loss) before reclassifications |
|
|
2,497 |
|
|
|
(1,823 |
) |
|
|
- |
|
|
|
(710 |
) |
|
|
|
(36 |
) |
| Amounts reclassified from accumulated other comprehensive income (loss) |
|
|
(21 |
) |
|
|
- |
|
|
|
- |
|
|
|
110 |
|
(a) |
|
|
89 |
|
| Net current period other comprehensive income (loss) |
|
|
2,476 |
|
|
|
(1,823 |
) |
|
|
- |
|
|
|
(600 |
) |
|
|
|
53 |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Balance at December 31, 2025 |
|
$ |
(19,490 |
) |
|
$ |
906 |
|
|
$ |
21 |
|
|
$ |
1,389 |
|
|
|
$ |
(17,174 |
) |
|