| Name | RevenuePracticalExpedientInitialApplicationAndTransitionNondisclosureOfTransactionPriceAllocationToRemainingPerformanceObligation |
|---|---|
| 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, Nondisclosure of Transaction Price Allocation to Remaining Performance Obligation [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 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 | Relation Type | Role | |
|---|---|---|---|
us-gaap:DeprecatedItems | parent-child | http://fasb.org/us-gaap/role/deprecated/deprecated |