Significant Accounting Policies and Basis of Presentation - Schedule of Allowance for Sales Returns (Details) - USD ($) $ in Thousands |
12 Months Ended | ||
|---|---|---|---|
Dec. 31, 2020 |
Dec. 31, 2019 |
Dec. 31, 2018 |
|
| Movement in Valuation Allowances and Reserves [Roll Forward] | |||
| Beginning balance | $ (27,521) | ||
| Ending balance | (41,236) | $ (27,521) | |
| Allowance for Sales Returns | |||
| Movement in Valuation Allowances and Reserves [Roll Forward] | |||
| Beginning balance | (6,550) | (7,335) | $ (6,907) |
| Charged to revenue | (14,594) | (15,541) | (17,396) |
| Utilization of sales return reserve | 15,232 | 16,326 | 16,968 |
| Ending balance | $ (5,912) | $ (6,550) | $ (7,335) |