Note 11 - Income Taxes (Tables)
   | 
12 Months Ended | 
Dec. 31, 2023  | 
| Notes Tables | 
 
 | 
| Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] | 
    
|   | 
  | 
  Year ended December 31   | 
  | 
 
|   | 
  | 
  2023   | 
  | 
  | 
  2022   | 
  | 
  | 
  2021   | 
  | 
 
|   Current:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Federal   | 
  | 
$ | 
(2,854 | 
) | 
  | 
$ | 
10,515 | 
  | 
  | 
$ | 
4,246 | 
  | 
 
|   State   | 
  | 
  | 
804 | 
  | 
  | 
  | 
1,505 | 
  | 
  | 
  | 
(1,967 | 
) | 
 
|   | 
  | 
  | 
(2,050 | 
) | 
  | 
  | 
12,020 | 
  | 
  | 
  | 
2,279 | 
  | 
 
|   Deferred:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Federal   | 
  | 
  | 
7,709 | 
  | 
  | 
  | 
(2,187 | 
) | 
  | 
  | 
1,874 | 
  | 
 
|   State   | 
  | 
  | 
(148 | 
) | 
  | 
  | 
(1,081 | 
) | 
  | 
  | 
(256 | 
) | 
 
|   | 
  | 
  | 
7,561 | 
  | 
  | 
  | 
(3,268 | 
) | 
  | 
  | 
1,618 | 
  | 
 
|   | 
  | 
$ | 
5,511 | 
  | 
  | 
$ | 
8,752 | 
  | 
  | 
$ | 
3,897 | 
  | 
 
 
   
 | 
| Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] | 
    
|   | 
  | 
  2023   | 
  | 
  | 
  2022   | 
  | 
  | 
  2021   | 
  | 
 
|   Federal income tax expense at statutory rate   | 
  | 
$ | 
6,139 | 
  | 
  | 
$ | 
9,946 | 
  | 
  | 
$ | 
7,264 | 
  | 
 
|   State taxes, net of federal benefit   | 
  | 
  | 
762 | 
  | 
  | 
  | 
1,445 | 
  | 
  | 
  | 
(1,329 | 
) | 
 
|   Valuation allowance   | 
  | 
  | 
(67 | 
) | 
  | 
  | 
(1,202 | 
) | 
  | 
  | 
(101 | 
) | 
 
|   Change in uncertain tax positions, net   | 
  | 
  | 
225 | 
  | 
  | 
  | 
356 | 
  | 
  | 
  | 
(705 | 
) | 
 
|   Research and development credit   | 
  | 
  | 
(1,012 | 
) | 
  | 
  | 
(1,333 | 
) | 
  | 
  | 
(859 | 
) | 
 
|   Investment tax credit   | 
  | 
  | 
(682 | 
) | 
  | 
  | 
- | 
  | 
  | 
  | 
- | 
  | 
 
|   State rate change   | 
  | 
  | 
92 | 
  | 
  | 
  | 
(168 | 
) | 
  | 
  | 
(652 | 
) | 
 
|   Other   | 
  | 
  | 
54 | 
  | 
  | 
  | 
(292 | 
) | 
  | 
  | 
279 | 
  | 
 
|   | 
  | 
$ | 
5,511 | 
  | 
  | 
$ | 
8,752 | 
  | 
  | 
$ | 
3,897 | 
  | 
 
 
   
 | 
| Schedule of Deferred Tax Assets and Liabilities [Table Text Block] | 
    
|   | 
  | 
  December 31,   | 
  | 
 
|   | 
  | 
  2023   | 
  | 
  | 
  2022   | 
  | 
 
|   Deferred tax assets:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Allowance for doubtful accounts   | 
  | 
$ | 
413 | 
  | 
  | 
$ | 
341 | 
  | 
 
|   Inventory reserves   | 
  | 
  | 
1,468 | 
  | 
  | 
  | 
1,367 | 
  | 
 
|   Warranty liability   | 
  | 
  | 
1,690 | 
  | 
  | 
  | 
1,856 | 
  | 
 
|   Deferred compensation   | 
  | 
  | 
2,124 | 
  | 
  | 
  | 
2,349 | 
  | 
 
|   Earnout liabilities   | 
  | 
  | 
- | 
  | 
  | 
  | 
245 | 
  | 
 
|   Pension and retiree health benefit obligations   | 
  | 
  | 
1,225 | 
  | 
  | 
  | 
1,344 | 
  | 
 
|   Accrued vacation   | 
  | 
  | 
1,137 | 
  | 
  | 
  | 
1,278 | 
  | 
 
|   Research expenditures   | 
  | 
  | 
5,842 | 
  | 
  | 
  | 
3,711 | 
  | 
 
|   Operating lease liabilities   | 
  | 
  | 
4,730 | 
  | 
  | 
  | 
4,648 | 
  | 
 
|   Net operating losses   | 
  | 
  | 
1,663 | 
  | 
  | 
  | 
2,126 | 
  | 
 
|   Other accrued liabilities   | 
  | 
  | 
4,376 | 
  | 
  | 
  | 
4,301 | 
  | 
 
|   State credit carryforwards   | 
  | 
  | 
1,032 | 
  | 
  | 
  | 
- | 
  | 
 
|   Other   | 
  | 
  | 
404 | 
  | 
  | 
  | 
990 | 
  | 
 
|   Valuation allowance   | 
  | 
  | 
(2,005 | 
) | 
  | 
  | 
(2,071 | 
) | 
 
|   Total deferred tax assets   | 
  | 
  | 
24,099 | 
  | 
  | 
  | 
22,485 | 
  | 
 
|   Deferred tax liabilities:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Interest rate swaps   | 
  | 
  | 
(994 | 
) | 
  | 
  | 
(1,729 | 
) | 
 
|   Tax deductible goodwill and other intangibles   | 
  | 
  | 
(35,974 | 
) | 
  | 
  | 
(35,492 | 
) | 
 
|   Accelerated depreciation   | 
  | 
  | 
(9,924 | 
) | 
  | 
  | 
(10,225 | 
) | 
 
|   Operating leases - right of use assets   | 
  | 
  | 
(4,430 | 
) | 
  | 
  | 
(4,288 | 
) | 
 
|   Other   | 
  | 
  | 
(680 | 
) | 
  | 
  | 
(588 | 
) | 
 
|   Total deferred tax liabilities   | 
  | 
  | 
(52,002 | 
) | 
  | 
  | 
(52,322 | 
) | 
 
|   Net deferred tax liabilities   | 
  | 
$ | 
(27,903 | 
) | 
  | 
$ | 
(29,837 | 
) | 
 
 
   
 | 
| Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] | 
    
|   | 
  | 
  2023   | 
  | 
  | 
  2022   | 
  | 
  | 
  2021   | 
  | 
 
|   Balance at beginning of year   | 
  | 
$ | 
1,519 | 
  | 
  | 
$ | 
1,214 | 
  | 
  | 
$ | 
1,954 | 
  | 
 
|   Increases for tax positions taken in the current year   | 
  | 
  | 
277 | 
  | 
  | 
  | 
350 | 
  | 
  | 
  | 
311 | 
  | 
 
|   Decreases due to settlements with taxing authorities   | 
  | 
  | 
- | 
  | 
  | 
  | 
- | 
  | 
  | 
  | 
(991 | 
) | 
 
|   Decreases due to lapses in the statute of limitations   | 
  | 
  | 
(95 | 
) | 
  | 
  | 
(45 | 
) | 
  | 
  | 
(60 | 
) | 
 
|   Balance at the end of year   | 
  | 
$ | 
1,701 | 
  | 
  | 
$ | 
1,519 | 
  | 
  | 
$ | 
1,214 | 
  | 
 
 
   
 |