Revenue Recognition - Narrative (Details)  | 
9 Months Ended | 
|---|---|
| 
 Sep. 30, 2021  
productCategory  
segment 
 | |
| Disaggregation of Revenue [Line Items] | |
| Refund period | 90 days | 
| Number of principal categories of products | productCategory | 6 | 
| Number of business segments | segment | 4 | 
| Maximum | |
| Disaggregation of Revenue [Line Items] | |
| Contract with customer, contract term | 1 year | 
| X | ||||||||||
- Definition Contract With Customer, Contract Term No definition available. 
  | 
| X | ||||||||||
- Definition Number of Principal Categories of Products No definition available. 
  | 
| X | ||||||||||
- Definition Revenue from Contract with Customer, Refund Period No definition available. 
  | 
| X | ||||||||||
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. No definition available. 
  | 
| X | ||||||||||
- Definition Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements. Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef 
  | 
| X | ||||||||||
- Details 
  |