 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInNextRollingTwelveMonths | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingYearTwo | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingYearThree | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingYearFour | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingYearFive | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingAfterYearFive | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationBalanceSheetAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInNextRollingTwelveMonths | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingYearTwo | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingYearThree | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingYearFour | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingYearFive | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRollingAfterYearFive | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |