 | us-gaap:RecordedUnconditionalPurchaseObligationPaymentScheduleAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:RecordedUnconditionalPurchaseObligationDueInRemainderOfFiscalYear | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:RecordedUnconditionalPurchaseObligationRollingMaturityScheduleAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:RecordedUnconditionalPurchaseObligationAmountOfMaturitiesAndSinkingFundRequirements | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:RecordedUnconditionalPurchaseObligationNonfinancialAssetsPledgedAsSecurityValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:RecordedUnconditionalPurchaseObligationMinimumQuantityRequired | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:RecordedUnconditionalPurchaseObligationTable | all | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRecordedUnconditionalPurchaseObligationTable |
 | us-gaap:RecordedUnconditionalPurchaseObligationPaymentScheduleAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRecordedUnconditionalPurchaseObligationTable |
 | us-gaap:RecordedUnconditionalPurchaseObligationDueInRemainderOfFiscalYear | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRecordedUnconditionalPurchaseObligationTable |
 | us-gaap:RecordedUnconditionalPurchaseObligationRollingMaturityScheduleAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRecordedUnconditionalPurchaseObligationTable |
 | us-gaap:RecordedUnconditionalPurchaseObligationAmountOfMaturitiesAndSinkingFundRequirements | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRecordedUnconditionalPurchaseObligationTable |
 | us-gaap:RecordedUnconditionalPurchaseObligationNonfinancialAssetsPledgedAsSecurityValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRecordedUnconditionalPurchaseObligationTable |
 | us-gaap:RecordedUnconditionalPurchaseObligationMinimumQuantityRequired | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRecordedUnconditionalPurchaseObligationTable |