v3.26.1
Revenue - Summary of Disaggregation of Total Net Sales by End Market and Geographic Location (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Disaggregation of Revenue [Line Items]        
Net sales $ 186,065 $ 179,045 $ 362,658 $ 342,994
United States [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 140,353 136,104 274,684 257,542
Non-US [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 45,712 42,941 87,974 85,452
Industrial [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 32,965 31,332 65,148 59,934
Fire Market [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 29,638 31,864 57,130 64,730
Agriculture [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 27,594 23,415 54,448 45,876
Construction [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 28,859 24,129 56,051 44,863
Municipal [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 28,782 29,836 53,735 51,845
Petroleum [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 5,084 5,549 10,221 11,019
OEM [Member]        
Disaggregation of Revenue [Line Items]        
Net sales 13,206 12,299 25,924 23,343
Repair Parts [Member]        
Disaggregation of Revenue [Line Items]        
Net sales $ 19,937 $ 20,621 $ 40,001 $ 41,384