XML 13 R2.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]        
Revenue $ 226,217 $ 199,764 $ 434,917 $ 393,043
Cost of sales 154,865 140,408 302,574 275,326
Gross profit 71,352 59,356 132,343 117,717
Operating expenses        
Selling, general and administrative expenses 50,260 51,185 100,268 100,568
Transaction expenses 125 184 273 235
Gain on sale-leaseback transactions 0 (6,903) 0 (6,903)
Loss on disposal of assets and other 460 207 290 330
Total operating expenses 50,845 44,673 100,831 94,230
Operating income 20,507 14,683 31,512 23,487
Other expense (income)        
Interest expense 4,272 4,706 8,413 9,689
Foreign exchange losses (gains) and other, net 226 (3,942) (297) (5,010)
Total other expense 4,498 764 8,116 4,679
Income before taxes 16,009 13,919 23,396 18,808
Income tax expense 3,602 6,219 6,497 9,986
Net income $ 12,407 $ 7,700 $ 16,899 $ 8,822
Weighted average shares outstanding        
Basic (in shares) 11,290 12,350 11,252 12,327
Diluted (in shares) 11,773 12,554 11,707 12,542
Earnings per share        
Basic (in USD per share) $ 1.10 $ 0.62 $ 1.50 $ 0.72
Diluted (in USD per share) $ 1.05 $ 0.61 $ 1.44 $ 0.70
Other comprehensive income, net of tax        
Net income $ 12,407 $ 7,700 $ 16,899 $ 8,822
Change in foreign currency translation (2,914) 8,929 (6,526) 9,413
Gain (loss) on pension liability (12) 75 (29) 111
Comprehensive income $ 9,481 $ 16,704 $ 10,344 $ 18,346