| Name | RevenuePracticalExpedientInitialApplicationAndTransitionNonrestatementOfModifiedContract |
|---|---|
| Namespace | http://fasb.org/us-gaap/2022 |
| 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, Nonrestatement of Modified Contract [true false] (Deprecated 2022) | en-US | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| Indicates (true false) whether practical expedient was elected under initial application of retrospective method to aggregate effect of contract modified before beginning of earliest period presented when identifying satisfied and unsatisfied performance obligation, determining transaction price and allocating transaction price to performance obligation. | en-US | http://www.xbrl.org/2003/role/documentation | http://www.xbrl.org/2003/role/link |
| Name | Value | Role |
|---|---|---|
| SourceName | Revenue:Taxonomy Technical Improvement | http://fasb.org/srt/role/changeNote/changeNote |
| TaxonomyVersion | 2022 | http://fasb.org/srt/role/changeNote/changeNote |
| ElementDeprecated | true | http://fasb.org/srt/role/changeNote/changeNote |
| Source_ASU_Number | 2014-09 | http://fasb.org/srt/role/changeNote/changeNote |
| TaxonomyVersion | 2022 | http://fasb.org/srt/role/deprecationNote/deprecationNote |
| DeprecatedLabel | Element was deprecated because the guidance from which this element is derived is no longer applicable. | http://fasb.org/srt/role/deprecationNote/deprecationNote |
| elementCreationTaxonomyVersion | 2017 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Name | Relation Type | Role | |
|---|---|---|---|
us-gaap:DeprecatedItems | parent-child | http://fasb.org/us-gaap/role/deprecated/deprecated |