XML 29 R19.htm IDEA: XBRL DOCUMENT v3.24.2
Note 2 - Revenue (Tables)
6 Months Ended
Jun. 30, 2024
Notes Tables  
Disaggregation of Revenue [Table Text Block]
   

End market

 
   

Three Months Ended
June 30,

   

Six Months Ended
June 30,

 
   

2024

   

2023

   

2024

   

2023

 

Industrial

  $ 34,570     $ 35,762     $ 68,130     $ 69,077  

Fire

    28,959       36,935       61,249       73,074  

Agriculture

    21,381       22,980       41,787       44,057  

Construction

    21,907       22,436       43,389       43,273  

Municipal

    26,206       19,549       46,419       36,973  

Petroleum

    5,451       5,160       11,353       10,634  

OEM

    11,684       9,480       19,842       18,490  

Repair parts

    19,355       18,722       36,612       35,912  

Total net sales

  $ 169,513     $ 171,024     $ 328,781     $ 331,490  
   

Geographic Location

 
    Three Months Ended
June 30,
   

Six Months Ended
June 30,

 
   

2024

   

2023

   

2024

   

2023

 

United States

  $ 127,021     $ 128,289     $ 241,596     $ 248,039  

Foreign countries

    42,492       42,735       87,185       83,451  

Total net sales

  $ 169,513     $ 171,024     $ 328,781     $ 331,490  
Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]
   

June 30,
2024

   

December 31,
2023

 

Contract assets

  $ -     $ -  

Contract liabilities

  $ 10,784     $ 12,521