v3.25.2
Revenue (Tables)
6 Months Ended
Jun. 30, 2025
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,

 

 

 

2025

 

 

2024

 

 

2025

 

 

2024

 

Industrial

 

$

36,131

 

 

$

34,570

 

 

$

68,747

 

 

$

68,130

 

Fire

 

 

31,753

 

 

 

28,959

 

 

 

64,730

 

 

 

61,249

 

Agriculture

 

 

20,158

 

 

 

21,381

 

 

 

39,621

 

 

 

41,787

 

Construction

 

 

21,967

 

 

 

21,907

 

 

 

40,748

 

 

 

43,389

 

Municipal

 

 

29,795

 

 

 

26,206

 

 

 

51,845

 

 

 

46,419

 

Petroleum

 

 

6,973

 

 

 

5,451

 

 

 

13,900

 

 

 

11,353

 

OEM

 

 

11,386

 

 

 

11,684

 

 

 

22,019

 

 

 

19,842

 

Repair parts

 

 

20,882

 

 

 

19,355

 

 

 

41,384

 

 

 

36,612

 

Total net sales

 

$

179,045

 

 

$

169,513

 

 

$

342,994

 

 

$

328,781

 

 

 

 

 

Geographic Location

 

 

 

Three Months Ended
June 30,

 

 

Six Months Ended
June 30,

 

 

 

2025

 

 

2024

 

 

2025

 

 

2024

 

United States

 

$

136,393

 

 

$

127,021

 

 

$

258,388

 

 

$

241,596

 

Foreign countries

 

 

42,652

 

 

 

42,492

 

 

 

84,606

 

 

 

87,185

 

Total net sales

 

$

179,045

 

 

$

169,513

 

 

$

342,994

 

 

$

328,781

 

Summary of Contract Assets and Liabilities

The Company’s contract assets and liabilities as of June 30, 2025 and December 31, 2024 were as follows:

 

 

 

June 30,
2025

 

 

December 31,
2024

 

Contract assets

 

$

26

 

 

$

390

 

Contract liabilities

 

 

6,460

 

 

 

6,840