| Name | RevenueRemainingPerformanceObligationOptionalExemptionNature |
|---|---|
| Namespace | http://fasb.org/us-gaap/2020-01-31 |
| Prefix | us-gaap |
| Data type | xbrli:stringItemType |
| Period type | duration |
| Substitution Group | xbrli:item |
| Balance | None |
| Nillable | True |
| Abstract | False |
| Text | Lang | Role | Container role |
|---|---|---|---|
| Revenue, Remaining Performance Obligation, Optional Exemption, Nature | en-US | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| Description of nature of remaining performance obligation for which optional exemption was applied not to disclose amount of transaction price allocated to and timing of revenue recognition for remaining performance obligation. | en-US | http://www.xbrl.org/2003/role/documentation | http://www.xbrl.org/2003/role/link |
| Name | Value | Role |
|---|---|---|
| SourceName | Technical Corrections to ASU 2014-09 | http://fasb.org/srt/role/changeNote/changeNote |
| TaxonomyVersion | 2018 | http://fasb.org/srt/role/changeNote/changeNote |
| ChangeDate | 2017-01 | http://fasb.org/srt/role/changeNote/changeNote |
| NewElement | true | http://fasb.org/srt/role/changeNote/changeNote |
| Source_ASU_Number | 2016-20 | http://fasb.org/srt/role/changeNote/changeNote |
| 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 | 50 | http://www.xbrl.org/2003/role/disclosureRef |
| Paragraph | 15 | http://www.xbrl.org/2003/role/disclosureRef |
| URI | http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045 | http://www.xbrl.org/2003/role/disclosureRef |
| Name | Relation Type | Role | |
|---|---|---|---|
us-gaap:RevenueRemainingPerformanceObligationOptionalExemptionAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomers |