Note 11 - Income Taxes (Tables)
   | 
12 Months Ended | 
Dec. 31, 2024  | 
| Notes Tables | 
 
 | 
| Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] | 
    
|   | 
  | 
  Year ended December 31   | 
  | 
 
|   | 
  | 
  2024   | 
  | 
  | 
  2023   | 
  | 
  | 
  2022   | 
  | 
 
|   Current:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Federal   | 
  | 
$ | 
18,176 | 
  | 
  | 
$ | 
(2,854 | 
) | 
  | 
$ | 
10,515 | 
  | 
 
|   State   | 
  | 
  | 
2,606 | 
  | 
  | 
  | 
804 | 
  | 
  | 
  | 
1,505 | 
  | 
 
|   | 
  | 
  | 
20,782 | 
  | 
  | 
  | 
(2,050 | 
) | 
  | 
  | 
12,020 | 
  | 
 
|   Deferred:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Federal   | 
  | 
  | 
(2,617 | 
) | 
  | 
  | 
7,709 | 
  | 
  | 
  | 
(2,187 | 
) | 
 
|   State   | 
  | 
  | 
(425 | 
) | 
  | 
  | 
(148 | 
) | 
  | 
  | 
(1,081 | 
) | 
 
|   | 
  | 
  | 
(3,042 | 
) | 
  | 
  | 
7,561 | 
  | 
  | 
  | 
(3,268 | 
) | 
 
|   | 
  | 
$ | 
17,740 | 
  | 
  | 
$ | 
5,511 | 
  | 
  | 
$ | 
8,752 | 
  | 
 
 
   
 | 
| Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] | 
    
|   | 
  | 
  2024   | 
  | 
  | 
  2023   | 
  | 
  | 
  2022   | 
  | 
 
|   Federal income tax expense at statutory rate   | 
  | 
$ | 
15,517 | 
  | 
  | 
$ | 
6,139 | 
  | 
  | 
$ | 
9,946 | 
  | 
 
|   State taxes, net of federal benefit   | 
  | 
  | 
2,295 | 
  | 
  | 
  | 
762 | 
  | 
  | 
  | 
1,445 | 
  | 
 
|   Valuation allowance   | 
  | 
  | 
(495 | 
) | 
  | 
  | 
(67 | 
) | 
  | 
  | 
(1,202 | 
) | 
 
|   Change in uncertain tax positions, net   | 
  | 
  | 
540 | 
  | 
  | 
  | 
225 | 
  | 
  | 
  | 
356 | 
  | 
 
|   Research and development credit   | 
  | 
  | 
(704 | 
) | 
  | 
  | 
(1,012 | 
) | 
  | 
  | 
(1,333 | 
) | 
 
|   Investment tax credit   | 
  | 
  | 
- | 
  | 
  | 
  | 
(682 | 
) | 
  | 
  | 
- | 
  | 
 
|   State rate change   | 
  | 
  | 
(165 | 
) | 
  | 
  | 
92 | 
  | 
  | 
  | 
(168 | 
) | 
 
|   Other   | 
  | 
  | 
752 | 
  | 
  | 
  | 
54 | 
  | 
  | 
  | 
(292 | 
) | 
 
|   | 
  | 
$ | 
17,740 | 
  | 
  | 
$ | 
5,511 | 
  | 
  | 
$ | 
8,752 | 
  | 
 
 
   
 | 
| Schedule of Deferred Tax Assets and Liabilities [Table Text Block] | 
    
|   | 
  | 
  December 31,   | 
  | 
 
|   | 
  | 
  2024   | 
  | 
  | 
  2023   | 
  | 
 
|   Deferred tax assets:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Allowance for doubtful accounts   | 
  | 
$ | 
588 | 
  | 
  | 
$ | 
413 | 
  | 
 
|   Inventory reserves   | 
  | 
  | 
1,749 | 
  | 
  | 
  | 
1,468 | 
  | 
 
|   Warranty liability   | 
  | 
  | 
1,343 | 
  | 
  | 
  | 
1,690 | 
  | 
 
|   Deferred compensation   | 
  | 
  | 
2,237 | 
  | 
  | 
  | 
2,124 | 
  | 
 
|   Pension and retiree health benefit obligations   | 
  | 
  | 
866 | 
  | 
  | 
  | 
1,225 | 
  | 
 
|   Accrued vacation   | 
  | 
  | 
844 | 
  | 
  | 
  | 
1,137 | 
  | 
 
|   Research expenditures   | 
  | 
  | 
6,723 | 
  | 
  | 
  | 
5,842 | 
  | 
 
|   Operating lease liabilities   | 
  | 
  | 
17,625 | 
  | 
  | 
  | 
4,730 | 
  | 
 
|   Net operating losses   | 
  | 
  | 
1,194 | 
  | 
  | 
  | 
1,663 | 
  | 
 
|   Other accrued liabilities   | 
  | 
  | 
4,550 | 
  | 
  | 
  | 
4,376 | 
  | 
 
|   State credit carryforwards   | 
  | 
  | 
1,060 | 
  | 
  | 
  | 
1,032 | 
  | 
 
|   Other   | 
  | 
  | 
338 | 
  | 
  | 
  | 
404 | 
  | 
 
|   Valuation allowance   | 
  | 
  | 
(1,510 | 
) | 
  | 
  | 
(2,005 | 
) | 
 
|   Total deferred tax assets   | 
  | 
  | 
37,607 | 
  | 
  | 
  | 
24,099 | 
  | 
 
|   Deferred tax liabilities:   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Interest rate swaps   | 
  | 
  | 
(573 | 
) | 
  | 
  | 
(994 | 
) | 
 
|   Tax deductible goodwill and other intangibles   | 
  | 
  | 
(37,125 | 
) | 
  | 
  | 
(35,974 | 
) | 
 
|   Accelerated depreciation   | 
  | 
  | 
(6,754 | 
) | 
  | 
  | 
(9,924 | 
) | 
 
|   Operating leases - right of use assets   | 
  | 
  | 
(17,289 | 
) | 
  | 
  | 
(4,430 | 
) | 
 
|   Other   | 
  | 
  | 
(440 | 
) | 
  | 
  | 
(680 | 
) | 
 
|   Total deferred tax liabilities   | 
  | 
  | 
(62,181 | 
) | 
  | 
  | 
(52,002 | 
) | 
 
|   Net deferred tax liabilities   | 
  | 
$ | 
(24,574 | 
) | 
  | 
$ | 
(27,903 | 
) | 
 
 
   
 | 
| Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block] | 
    
|   | 
  | 
  2024   | 
  | 
  | 
  2023   | 
  | 
  | 
  2022   | 
  | 
 
|   Balance at beginning of year   | 
  | 
$ | 
1,701 | 
  | 
  | 
$ | 
1,519 | 
  | 
  | 
$ | 
1,214 | 
  | 
 
|   Increases for tax positions taken in the current year   | 
  | 
  | 
681 | 
  | 
  | 
  | 
277 | 
  | 
  | 
  | 
350 | 
  | 
 
|   Increases for tax positions taken in prior years   | 
  | 
  | 
951 | 
  | 
  | 
  | 
- | 
  | 
  | 
  | 
- | 
  | 
 
|   Decreases due to lapses in the statute of limitations   | 
  | 
  | 
(828 | 
) | 
  | 
  | 
(95 | 
) | 
  | 
  | 
(45 | 
) | 
 
|   Balance at the end of year   | 
  | 
$ | 
2,505 | 
  | 
  | 
$ | 
1,701 | 
  | 
  | 
$ | 
1,519 | 
  | 
 
 
   
 |