| Type | including |
|---|---|
| Role | http://fasb.org/us-gaap/role/disclosure/RevenueFromContractWithCustomerTemp05RevenueInitialApplicationPeriodCumulativeEffectTransitionTable |
| Type | Element |
|---|---|
| Hypercube | us-gaap:RevenueInitialApplicationPeriodCumulativeEffectTransitionTable |
| Explicit | us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis |
| Member | us-gaap:InitialApplicationPeriodCumulativeEffectTransitionDomain |
| Member | us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member |
| Explicit | us-gaap:AdjustmentsForNewAccountingPronouncementsAxis |
| Member | us-gaap:TypeOfAdoptionMember |
| Member | us-gaap:AccountingStandardsUpdate201409Member |
| Label/QName |
|---|
us-gaap:RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems |
us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax |
us-gaap:CostOfGoodsAndServicesSold |
us-gaap:CapitalizedContractCostNet |
us-gaap:OtherLiabilities |
us-gaap:ContractWithCustomerLiability |
us-gaap:RetainedEarningsAccumulatedDeficit |