XML 67 R54.htm IDEA: XBRL DOCUMENT v3.22.4
Valuation and Qualifying Accounts - Additional Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Inventory obsolescence reserves $ 13,200 $ 12,900    
Inventory usage period 3 years      
Inventory reserve percentage 100.00%      
Product warranty accrual period of expenses used in calculation 12 months      
Product warranty accrual period for sales used in calculation 12 months      
Warranty $ 9,340 9,953    
Minimum        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Product warranty accrual lag period 3 months      
Maximum        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Product warranty accrual lag period 6 months      
Wholegoods | Maximum        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Product warranty period 1 year      
Parts        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Product warranty period 90 days      
Reserve for sales discounts        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Reserves for sales discounts on products shipped under promotional programs $ 19,861 $ 12,567 $ 13,549 $ 16,883