XML 77 R56.htm IDEA: XBRL DOCUMENT v3.24.0.1
Valuation and Qualifying Accounts - Additional Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Inventory obsolescence reserves $ 9,000 $ 13,200    
Inventory usage period (years) 3 years      
Inventory reserve percentage 100.00%      
Product warranty accrual period of expenses used in calculation (months) 12 months      
Product warranty accrual period for sales used in calculation (months) 12 months      
Warranty $ 11,138 9,340    
Minimum        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Product warranty accrual lag period (months) 3 months      
Maximum        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Product warranty accrual lag period (months) 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 $ 24,031 $ 19,861 $ 12,567 $ 13,549