| Type | including |
|---|---|
| Role | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
| Type | Element |
|---|---|
| Hypercube | us-gaap:NewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
| Explicit | us-gaap:AdjustmentsForNewAccountingPronouncementsAxis |
| Member | us-gaap:TypeOfAdoptionMember |
| Member | us-gaap:NewAccountingPronouncementMember |
| Member | us-gaap:AccountingStandardsUpdate201026Member |
| Member | us-gaap:AccountingStandardsUpdate201104Member |
| Member | us-gaap:AccountingStandardsUpdate201307Member |
| Member | us-gaap:AccountingStandardsUpdate201409Member |
| Member | us-gaap:AccountingStandardsUpdate201517Member |
| Member | us-gaap:AccountingStandardsUpdate201502Member |
| Member | us-gaap:AccountingStandardsUpdate201601Member |
| Member | us-gaap:AccountingStandardsUpdate201604Member |
| Member | us-gaap:AccountingStandardsUpdate201605Member |
| Member | us-gaap:AccountingStandardsUpdate201606Member |
| Member | us-gaap:AccountingStandardsUpdate201609Member |
| Member | us-gaap:AccountingStandardsUpdate201602Member |
| Member | us-gaap:AccountingStandardsUpdate201613Member |
| Member | us-gaap:AccountingStandardsUpdate201615Member |
| Member | us-gaap:AccountingStandardsUpdate201617Member |
| Member | us-gaap:AccountingStandardsUpdate201618Member |
| Member | us-gaap:AccountingStandardsUpdate201701Member |
| Member | us-gaap:AccountingStandardsUpdate201704Member |
| Member | us-gaap:AccountingStandardsUpdate201705Member |
| Member | us-gaap:AccountingStandardsUpdate201707Member |
| Member | us-gaap:AccountingStandardsUpdate201708Member |
| Member | us-gaap:AccountingStandardsUpdate201709Member |
| Member | us-gaap:AccountingStandardsUpdate201710Member |
| Member | us-gaap:AccountingStandardsUpdate201711Member |
| Member | us-gaap:AccountingStandardsUpdate201712Member |
| Member | us-gaap:AccountingStandardsUpdate201715Member |
| Member | us-gaap:AccountingStandardsUpdate201801Member |
| Member | us-gaap:AccountingStandardsUpdate201802Member |
| Member | us-gaap:AccountingStandardsUpdate201803Member |
| Member | us-gaap:AccountingStandardsUpdate201804Member |
| Member | us-gaap:AccountingStandardsUpdate201807Member |
| Member | us-gaap:AccountingStandardsUpdate201808Member |
| Member | us-gaap:AccountingStandardsUpdate201809Member |
| Member | us-gaap:AccountingStandardsUpdate201811Member |
| Member | us-gaap:AccountingStandardsUpdate201812Member |
| Member | us-gaap:AccountingStandardsUpdate201813Member |
| Member | us-gaap:AccountingStandardsUpdate201814Member |
| Member | us-gaap:AccountingStandardsUpdate201815Member |
| Member | us-gaap:AccountingStandardsUpdate201816Member |
| Member | us-gaap:AccountingStandardsUpdate201817Member |
| Member | us-gaap:FairValueOptionElectionForVariableInterestEntityMember |
| Member | us-gaap:CumulativeEffectAdjustmentConsolidationOfVariableInterestEntityMember |
| Member | us-gaap:CumulativeEffectAdjustmentDeconsolidationOfVariableInterestEntityMember |
| Member | us-gaap:AccountingStandardsUpdate201818Member |
| Member | us-gaap:AccountingStandardsUpdate201820Member |
| Member | us-gaap:AccountingStandardsUpdate201901Member |
| Member | us-gaap:AccountingStandardsUpdate201902Member |
| Member | us-gaap:AccountingStandardsUpdate201903Member |
| Member | us-gaap:AccountingStandardsUpdate201904Member |
| Member | us-gaap:AccountingStandardsUpdate201905Member |
| Member | us-gaap:AccountingStandardsUpdate201908Member |
| Member | us-gaap:AccountingStandardsUpdate201911Member |
| Member | us-gaap:AccountingStandardsUpdate201912Member |
| Explicit | srt:CumulativeEffectPeriodOfAdoptionAxis |
| Member | srt:CumulativeEffectPeriodOfAdoptionDomain |
| Member | srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember |
| Member | srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember |
| Explicit | srt:RestatementAxis |
| Member | srt:RestatementDomain |
| Member | srt:ScenarioPreviouslyReportedMember |
| Member | srt:RestatementAdjustmentMember |
| Member | srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember |
| Member | srt:RevisionOfPriorPeriodErrorCorrectionAdjustmentMember |
| Member | srt:RevisionOfPriorPeriodAccountingStandardsUpdateAdjustmentMember |
| Member | srt:RevisionOfPriorPeriodReclassificationAdjustmentMember |
| Explicit | us-gaap:AdjustmentsForChangeInAccountingPrincipleAxis |
| Member | us-gaap:ChangeInAccountingPrincipleMember |
| Member | us-gaap:ChangeInAccountingPrincipleOtherMember |
| Explicit | us-gaap:ChangeInAccountingPrincipleIndirectEffectAxis |
| Member | us-gaap:ChangeInAccountingPrincipleIndirectEffectDomain |
| Member | us-gaap:ChangeInAccountingPrincipleIndirectEffectMember |
| Label/QName |
|---|
us-gaap:NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems |
us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest |
us-gaap:ProfitLoss |
us-gaap:EarningsPerShareBasic |
us-gaap:EarningsPerShareDiluted |
us-gaap:RetainedEarningsAccumulatedDeficit |
us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted |
us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateEarlyAdoption |
us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateTransitionOptionElectedExtensibleList |
us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate |
us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect |
us-gaap:AccountingStandardsUpdateExtensibleList |
us-gaap:ChangeInAccountingPrincipleTypeExtensibleList |
us-gaap:FairValueOptionFinancialInstrumentMeasuredAtAmortizedCostCreditLoss |
us-gaap:ServiceConcessionArrangementRetrospectiveApplicationAllContracts |
us-gaap:ServiceConcessionArrangementRetrospectiveApplicationNotCompletedContracts |
us-gaap:AccountingStandardsUpdate201818ApplicationFixedList |
us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateRetrospectiveApplicationImpracticable |
us-gaap:NewAccountingPronouncementOrChangeInAccountingPrinciplePriorPeriodNotRestated |
us-gaap:NewAccountingPronouncementOrChangeInAccountingPrincipleDescriptionOfPriorperiodInformationRetrospectivelyAdjusted |
us-gaap:NewAccountingPronouncementOrChangeInAccountingPrincipleDescription |