| Type | including |
|---|---|
| Role | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomersRevenueInitialApplicationPeriodCumulativeEffectTransitionTable |
| Type | Element |
|---|---|
| Hypercube | us-gaap:RevenueInitialApplicationPeriodCumulativeEffectTransitionTable |
| Explicit | us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis |
| Member | us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain |
| Member | us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member |
| Member | us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member |
| Explicit | us-gaap:AdjustmentsForNewAccountingPronouncementsAxis |
| Member | us-gaap:TypeOfAdoptionMember |
| Member | us-gaap:NewAccountingPronouncementMember |
| Member | us-gaap:AccountingStandardsUpdate201409Member |
| Member | us-gaap:AdjustmentsForNewAccountingPrincipleEarlyAdoptionMember |
| Member | us-gaap:NewAccountingPronouncementEarlyAdoptionEffectMember |
| Label/QName |
|---|
us-gaap:RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems |
us-gaap:RevenueInitialApplicationPeriodCumulativeEffectTransitionDescription |
us-gaap:RevenueInitialApplicationPeriodCumulativeEffectTransitionExplanationOfChange |