XML 15 R4.htm IDEA: XBRL DOCUMENT v3.26.1
Condensed Consolidated Statements of Comprehensive Income - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Income Statement [Abstract]        
Net sales $ 173,964 $ 151,176 $ 328,166 $ 299,324
Cost of sales 123,046 107,633 232,886 213,629
Gross profit 50,918 43,543 95,280 85,695
Selling, general & administrative expenses 22,753 18,679 43,774 37,405
Acquisition costs 72 283 72 320
Change in fair value of contingent consideration 0 263 0 526
Gain on disposal of property, plant & equipment (6) (11) (32) (11)
Operating income 28,099 24,329 51,466 47,455
Interest expense, net 1,711 2,671 3,448 5,480
Other (income) expense (40) 32 (18) 68
Income before income tax expense 26,428 21,626 48,036 41,907
Income tax expense 5,577 4,446 9,690 7,543
Net income $ 20,851 $ 17,180 $ 38,346 $ 34,364
Net income per share:        
Basic (in dollars per share) $ 2.69 $ 2.23 $ 4.96 $ 4.46
Diluted (in dollars per share) $ 2.68 $ 2.21 $ 4.92 $ 4.42
Weighted average common shares outstanding:        
Basic (in shares) 7,740 7,709 7,731 7,698
Diluted (in shares) 7,788 7,773 7,796 7,783
Comprehensive Income        
Net Income $ 20,851 $ 17,180 $ 38,346 $ 34,364
Other comprehensive (loss) income:        
Foreign currency translation (loss) gain (474) 5,294 (2,196) 7,619
Other comprehensive (loss) income (474) 5,294 (2,196) 7,619
Comprehensive income $ 20,377 $ 22,474 $ 36,150 $ 41,983