 | us-gaap:UnrecordedUnconditionalPurchaseObligationDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationTerm | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDate | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRemainderOfFiscalYear | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationRollingMaturityAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationNatureOfVariableComponents | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationChangeOfAmountAsResultOfVariableComponents | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationPurchases | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationImputedInterest | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationMinimumQuantityRequired | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationPeriodQuantityPurchased | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationMaximumQuantity | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationTable | all | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationTerm | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDate | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationDueInRemainderOfFiscalYear | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationRollingMaturityAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationNatureOfVariableComponents | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationChangeOfAmountAsResultOfVariableComponents | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationPurchases | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationImputedInterest | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationMinimumQuantityRequired | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationPeriodQuantityPurchased | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |
 | us-gaap:UnrecordedUnconditionalPurchaseObligationMaximumQuantity | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesUnrecordedUnconditionalPurchaseObligationTable |