Quarterly report [Sections 13 or 15(d)]

Note 17 - Segment Information - Schedule of Segment Information (Details)

v3.25.2
Note 17 - Segment Information - Schedule of Segment Information (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Net sales $ 159,284 $ 92,076 $ 297,328 $ 184,498  
Cost of sales 132,976 73,518 247,624 148,921  
Direct costs 11,719 8,837 23,221 17,595  
Segment Income Before Taxes 14,589 9,721 26,483 17,982  
General and administrative 4,638 4,137 9,891 7,901  
Acquisition related costs 13 469 139 592  
Depreciation and amortization expense 1,982 865 3,720 1,736  
Interest, net 151 354 337 557  
Foreign currency transaction (loss) gain 14 (162) (567) (246)  
Change in fair value of acquisition contingent consideration (379) 0 (515) 0  
Income before taxes 7,742 4,442 11,988 8,064  
Total assets 420,691   420,691   $ 469,179
Operating Segments [Member]          
Total assets 366,629   366,629   416,691
Segment Reporting, Reconciling Item, Corporate Nonsegment [Member]          
Total assets 54,062   54,062   52,488
Distribution Segment [Member]          
Net sales 153,010 87,842 285,172 174,663  
Cost of sales 129,962 72,159 241,725 144,765  
Direct costs 10,106 7,535 20,119 14,912  
Segment Income Before Taxes 12,942 8,148 23,328 14,986  
Distribution Segment [Member] | Operating Segments [Member]          
Total assets 343,280   343,280   394,809
Solutions Segment [Member]          
Net sales 6,274 4,234 12,156 9,835  
Cost of sales 3,014 1,359 5,899 4,156  
Direct costs 1,613 1,302 3,102 2,683  
Segment Income Before Taxes 1,647 $ 1,573 3,155 $ 2,996  
Solutions Segment [Member] | Operating Segments [Member]          
Total assets $ 23,349   $ 23,349   $ 21,882