| Name | RevenuePracticalExpedientInitialApplicationAndTransitionNondisclosureOfTransactionPriceAllocationToRemainingPerformanceObligation |
|---|---|
| Namespace | http://fasb.org/us-gaap/2021-01-31 |
| Prefix | us-gaap |
| Data type | xbrli:booleanItemType |
| Period type | duration |
| Substitution Group | xbrli:item |
| Balance | None |
| Nillable | True |
| Abstract | False |
| Text | Lang | Role | Container role |
|---|---|---|---|
| Revenue, Practical Expedient, Initial Application and Transition, Nondisclosure of Transaction Price Allocation to Remaining Performance Obligation [true false] | en-US | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| Indicates (true false) whether practical expedient was elected not to disclose amount of transaction price allocated to remaining performance obligation and explanation of expected timing of revenue recognition for reporting period presented prior to date of initial application under retrospective method. | en-US | http://www.xbrl.org/2003/role/documentation | http://www.xbrl.org/2003/role/link |
| Name | Value | Role |
|---|---|---|
| elementCreationTaxonomyVersion | 2017 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Publisher | FASB | http://www.xbrl.org/2003/role/disclosureRef |
| Name | Accounting Standards Codification | http://www.xbrl.org/2003/role/disclosureRef |
| Topic | 606 | http://www.xbrl.org/2003/role/disclosureRef |
| SubTopic | 10 | http://www.xbrl.org/2003/role/disclosureRef |
| Section | 65 | http://www.xbrl.org/2003/role/disclosureRef |
| Paragraph | 1 | http://www.xbrl.org/2003/role/disclosureRef |
| Subparagraph | (f)(3) | http://www.xbrl.org/2003/role/disclosureRef |
| URI | http://asc.fasb.org/extlink&oid=123338486&loc=SL49131195-203048 | http://www.xbrl.org/2003/role/disclosureRef |
| Name | Relation Type | Role | |
|---|---|---|---|
us-gaap:RevenuePracticalExpedientAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomers |