 | us-gaap:StatementTable | parent-child | http://fasb.org/us-gaap/role/statement/CommonDomainMembers |
 | us-gaap:StatementTable | hypercube-dimension | http://fasb.org/us-gaap/role/statement/CommonDomainMembersStatementTable |
 | us-gaap:RecordedThirdPartyEnvironmentalRecoveriesTable | parent-child | http://fasb.org/us-gaap/role/disclosure/EnvironmentalRemediationObligations |
 | us-gaap:SiteContingencyTable | parent-child | http://fasb.org/us-gaap/role/disclosure/EnvironmentalRemediationObligations |
 | us-gaap:RecordedThirdPartyEnvironmentalRecoveriesTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/EnvironmentalRemediationObligationsRecordedThirdPartyEnvironmentalRecoveriesTable |
 | us-gaap:SiteContingencyTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/EnvironmentalRemediationObligationsSiteContingencyTable |
 | us-gaap:LossContingenciesTable | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:ProductLiabilityContingencyTable | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:RegistrationPaymentArrangementTable | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingenciesTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:ProductLiabilityContingencyTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesProductLiabilityContingencyTable |
 | us-gaap:RegistrationPaymentArrangementTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRegistrationPaymentArrangementTable |
 | us-gaap:ProductWarrantyLiabilityTable | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:ScheduleOfGuaranteeObligationsTable | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:ProductWarrantyLiabilityTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/GuaranteesProductWarrantyLiabilityTable |
 | us-gaap:ScheduleOfGuaranteeObligationsTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:ObligationWithJointAndSeveralLiabilityArrangementTable | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:ObligationWithJointAndSeveralLiabilityArrangementTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DebtObligationWithJointAndSeveralLiabilityArrangementTable |
 | us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable |
 | us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsTable | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsBusinessCombinationSeparatelyRecognizedTransactionsTable |
 | us-gaap:EmbeddedDerivativeTable | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:ForeignCurrencyFairValueHedgeDerivativeTable | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:HybridInstrumentsTable | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:PriceRiskDerivativesTable | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:ScheduleOfCreditDerivativesTable | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:EmbeddedDerivativeTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesEmbeddedDerivativeTable |
 | us-gaap:FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesFairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable |
 | us-gaap:ForeignCurrencyFairValueHedgeDerivativeTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesForeignCurrencyFairValueHedgeDerivativeTable |
 | us-gaap:HybridInstrumentsTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesHybridInstrumentsTable |
 | us-gaap:PriceRiskDerivativesTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:ScheduleOfCreditDerivativesTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:ScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:ScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeTable | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingCustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeTable |
 | us-gaap:CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeTable | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesBrokersAndDealers |
 | us-gaap:CustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeTable | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/FinancialServicesBrokersAndDealersCustomerSecuritiesForWhichEntityHasRightToSellOrRepledgeTable |