 | us-gaap:OtherComprehensiveIncomeLocationAxis | parent-child | http://fasb.org/us-gaap/role/statement/CommonDomainMembers |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-default | http://fasb.org/us-gaap/role/statement/CommonDomainMembersStatementTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-domain | http://fasb.org/us-gaap/role/statement/CommonDomainMembersStatementTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligations |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-default | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-domain | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-default | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-domain | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-default | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesTradingActivitiesGainLossByTypeTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-domain | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesTradingActivitiesGainLossByTypeTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-default | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-domain | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-default | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-domain | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-default | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-domain | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-default | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:OtherComprehensiveIncomeLocationAxis | dimension-domain | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |