XML 27 R21.htm IDEA: XBRL DOCUMENT
v3.26.1

Revenue (Tables) | 6 Months Ended
--- | ---
Jun. 30, 2026
Inventory Disclosure [Abstract] |
Summary of Disaggregate Total Net Sales by End Market and Geographic Location | The following tables disaggregate total net sales by end market and geographic location:
|  | End market |
|  | Three Months Ended June 30, |  |  | Six Months Ended June 30, |
|  | 2026 |  |  | 2025 |  |  | 2026 |  |  | 2025 |
Industrial |  | $ | 32,965 |  |  | $ | 31,332 |  |  | $ | 65,148 |  |  | $ | 59,934 |
Fire |  |  | 29,638 |  |  |  | 31,864 |  |  |  | 57,130 |  |  |  | 64,730 |
Agriculture |  |  | 27,594 |  |  |  | 23,415 |  |  |  | 54,448 |  |  |  | 45,876 |
Construction |  |  | 28,859 |  |  |  | 24,129 |  |  |  | 56,051 |  |  |  | 44,863 |
Municipal |  |  | 28,782 |  |  |  | 29,836 |  |  |  | 53,735 |  |  |  | 51,845 |
Petroleum |  |  | 5,084 |  |  |  | 5,549 |  |  |  | 10,221 |  |  |  | 11,019 |
OEM |  |  | 13,206 |  |  |  | 12,299 |  |  |  | 25,924 |  |  |  | 23,343 |
Repair parts |  |  | 19,937 |  |  |  | 20,621 |  |  |  | 40,001 |  |  |  | 41,384 |
Total net sales |  | $ | 186,065 |  |  | $ | 179,045 |  |  | $ | 362,658 |  |  | $ | 342,994 |
|  | Geographic Location |
|  | Three Months Ended June 30, |  |  | Six Months Ended June 30, |
|  | 2026 |  |  | 2025 |  |  | 2026 |  |  | 2025 |
United States |  | $ | 140,353 |  |  | $ | 136,104 |  |  | $ | 274,684 |  |  | $ | 257,542 |
Foreign countries |  |  | 45,712 |  |  |  | 42,941 |  |  |  | 87,974 |  |  |  | 85,452 |
Total net sales |  | $ | 186,065 |  |  | $ | 179,045 |  |  | $ | 362,658 |  |  | $ | 342,994 |
Summary of Contract Assets and Liabilities | The Company’s contract assets and liabilities as of June 30, 2026 and December 31, 2025 were as follows:
|  | June 30, 2026 |  |  | December 31, 2025 |
Contract assets |  | $ | — |  |  | $ | 634 |
Contract liabilities |  |  | 10,161 |  |  |  | 7,658 |

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_InventoryDisclosureAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration