| Name | RevenueRecognitionMultipleDeliverableArrangementsTableTextBlock |
|---|---|
| Namespace | http://fasb.org/us-gaap/2021-01-31 |
| Prefix | us-gaap |
| Data type | dtr-types:textBlockItemType |
| Period type | duration |
| Substitution Group | xbrli:item |
| Balance | None |
| Nillable | True |
| Abstract | False |
| Text | Lang | Role | Container role |
|---|---|---|---|
| Revenue Recognition, Multiple-deliverable Arrangements [Table Text Block] | en-US | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| Tabular disclosure of the recognition of revenue arrangements under which the entity does or will perform multiple revenue-generating activities, categorized by type of arrangement. This item includes certain revenue arrangements that include software elements. This item does not include multiple-deliverable arrangements for industries that prepare disclosures under specific requirements (for instance, construction-type and production-type contracts) otherwise provided for in the taxonomy. | en-US | http://www.xbrl.org/2003/role/documentation | http://www.xbrl.org/2003/role/link |
| Name | Value | Role |
|---|---|---|
| Note | Element is intended to be used for each reported period for which amendment from Accounting Standards Update identified in tin-part:Source_ASU_Number is not applied. | http://fasb.org/us-gaap/role/tin/transition |
| PublishDate | 2018-01 | http://fasb.org/us-gaap/role/tin/transition |
| Source | ASU | http://fasb.org/us-gaap/role/tin/transition |
| SourceName | Revenue | http://fasb.org/us-gaap/role/tin/transition |
| Source_ASU_Number | 2014-09 | http://fasb.org/us-gaap/role/tin/transition |
| elementCreationTaxonomyVersion | 2011 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Name | Relation Type | Role | |
|---|---|---|---|
us-gaap:TableTextBlock | parent-child | http://fasb.org/us-gaap/role/disclosure/ComprehensiveTextBlockList | |
us-gaap:Asu201409TransitionAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/DeferredRevenue |