XML 111 R101.htm IDEA: XBRL DOCUMENT v3.20.1
Valuation and Qualifying Accounts [Schedule] Valuation and Qualifying Accounts (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]        
Balance at beginning of period $ 7,855 $ 6,190 $ 5,725 $ 5,300
Charged to costs and expenses 6,926 5,503 4,926 5,237
Deductions (5,100) (3,838) (4,461) (4,812)
Balance at end of period 9,681 7,855 6,190 5,725
Allowance for doubtful accounts        
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]        
Balance at beginning of period 1,496 1,158 648 697
Charged to costs and expenses 536 786 594 127
Deductions (699) (448) (84) (176)
Balance at end of period 1,333 1,496 1,158 648
Reserve for sales returns and allowances        
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]        
Balance at beginning of period 6,359 5,032 5,077 4,603
Charged to costs and expenses 6,390 4,717 4,332 5,110
Deductions (4,401) (3,390) (4,377) (4,636)
Balance at end of period $ 8,348 $ 6,359 $ 5,032 $ 5,077