XML 101 R87.htm IDEA: XBRL DOCUMENT v3.22.4
SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance at Beginning of Period $ 20,715 $ 21,093 $ 18,797
Charged to Costs and Expenses 199,751 153,571 106,439
Deductions (195,973) (153,949) (104,143)
Balance at End of Period 24,493 20,715 21,093
Allowance for doubtful accounts      
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance at Beginning of Period 7,828 11,154 8,276
Charged to Costs and Expenses 1,101 0 5,779
Deductions 1,584 (3,326) (2,901)
Balance at End of Period 10,513 7,828 11,154
Reserve for sales returns and allowances      
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance at Beginning of Period 9,606 5,782 5,261
Charged to Costs and Expenses 192,543 148,893 95,740
Deductions (193,272) (145,069) (95,219)
Balance at End of Period 8,877 9,606 5,782
Reserve for unapplied rebates      
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance at Beginning of Period 3,281 4,157 5,260
Charged to Costs and Expenses 6,107 4,678 4,920
Deductions (4,285) (5,554) (6,023)
Balance at End of Period $ 5,103 $ 3,281 $ 4,157