Revenue Valuation Allowance and Reserves (Tables)  | 
12 Months Ended | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec. 31, 2020  | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Allowance for Sales Returns [Abstract] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Summary of activity in allowance for sales returns | 
A summary of activity in the allowance for sales returns, recorded on a gross basis for the years ended December 31, 2020, 2019 and 2018 was as follows:
  | 
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| X | ||||||||||
- Definition Allowance for Sales Returns [Abstract] No definition available. 
  | 
| X | ||||||||||
- Definition [Table Text Block] for Valuation Allowances and Reserves, Balance Rollforward [Table] No definition available. 
  |