 | us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ProfitLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:EarningsPerShareBasic | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:EarningsPerShareDiluted | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:RetainedEarningsAccumulatedDeficit | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ErrorCorrectionTypeExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ErrorCorrectionPreviouslyImmaterial | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable | all | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable |
 | us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable |
 | us-gaap:ProfitLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable |
 | us-gaap:EarningsPerShareBasic | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable |
 | us-gaap:EarningsPerShareDiluted | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable |
 | us-gaap:RetainedEarningsAccumulatedDeficit | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable |
 | us-gaap:ErrorCorrectionTypeExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable |
 | us-gaap:ErrorCorrectionPreviouslyImmaterial | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable |