| Schedule of segment reporting information by segment |
| | | | | | | | | | | | | Three Months Ended June 30 | | Six Months Ended June 30 | | (Unaudited) | | (Unaudited) | (in thousands) | 2026 | | 2025 | | 2026 | | 2025 | CONSOLIDATED STATEMENT OF INCOME | | | | | | | | | | | | Net Sales by Geographic Region: | | | | | | | | | | | | North America | $ | 193,476 | | $ | 175,942 | | $ | 325,159 | | $ | 362,280 | Foreign | | 46,517 | | | 38,090 | | | 95,696 | | | 77,402 | Net Sales | | 239,993 | | | 214,032 | | | 420,855 | | | 439,682 | | | | | | | | | | | | | Cost of operations | | 204,057 | | | 179,446 | | | 359,238 | | | 371,153 | Selling, general and administrative expenses | | 25,176 | | | 23,404 | | | 49,125 | | | 46,664 | Interest expense, net | | 352 | | | 294 | | | 498 | | | 389 | Other (income) expense, net | | 338 | | | (479) | | | 324 | | | (682) | Income before taxes | | 10,070 | | | 11,367 | | | 11,670 | | | 22,158 | Tax expense | | 2,801 | | | 2,909 | | | 3,848 | | | 5,635 | CONSOLIDATED NET INCOME | $ | 7,269 | | $ | 8,458 | | $ | 7,822 | | $ | 16,523 |
| | | | | | | June 30, 2026 | | December 31, 2025 | (in thousands) | (Unaudited) | | | | TOTAL ASSETS | | | | | | Cash and cash equivalents | $ | 55,635 | | $ | 44,682 | Accounts receivable, net of allowance for credit losses | | 224,984 | | | 198,261 | Inventories, net | | 157,307 | | | 184,231 | Prepaid expenses | | 15,772 | | | 12,409 | | | | | | | Long-lived assets: | | | | | | North America | | 128,102 | | | 124,448 | Foreign | | 22,677 | | | 19,709 | Net long-lived assets | | 150,779 | | | 144,157 | | | | | | | Other assets | | 4,575 | | | 5,927 | CONSOLIDATED TOTAL ASSETS | $ | 609,052 | | $ | 589,667 |
|