XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.3
Note 3 - Revenue (Tables)
9 Months Ended
Sep. 30, 2023
Notes Tables  
Disaggregation of Revenue [Table Text Block]
   

End market

 
   

Three Months Ended
September 30,

   

Nine Months Ended
September 30,

 
   

2023

   

2022

   

2023

   

2022

 

Industrial

  $ 34,777     $ 32,093     $ 103,886     $ 72,452  

Fire

    35,986       31,785       109,211       88,237  

Agriculture

    21,235       21,518       65,292       37,571  

Construction

    23,388       19,886       66,723       42,581  

Municipal

    18,841       20,661       55,831       51,940  

Petroleum

    5,801       4,832       16,440       11,506  

OEM

    9,730       7,767       28,223       25,802  

Repair parts

    17,698       15,250       53,340       44,937  

Total net sales

  $ 167,456     $ 153,792     $ 498,946     $ 375,026  
   

Geographic Location

 
    Three Months Ended
September 30,
   

Nine Months Ended
September 30,

 
   

2023

   

2022

   

2023

   

2022

 

United States

  $ 127,132     $ 115,478     $ 375,170     $ 272,943  

Foreign countries

    40,324       38,314       123,776       102,083  

Total net sales

  $ 167,456     $ 153,792     $ 498,946     $ 375,026  
Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]
   

September 30,
2023

   

December 31,
2022

 

Contract assets

    -       -  

Contract liabilities

  $ 8,767     $ 6,740