 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/statement/CommonDomainMembers |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/statement/CommonDomainMembersStatementTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfResearchAndDevelopmentAssetsAcquiredOtherThanThroughBusinessCombinationTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentImpairedAssetsToBeDisposedOfByMethodOtherThanSaleTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesGainContingenciesTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesProductLiabilityContingencyTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesRegistrationPaymentArrangementTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/DiscontinuedOperations |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsBusinessCombinationSeparatelyRecognizedTransactionsTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesEmbeddedDerivativeTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesForeignCurrencyFairValueHedgeDerivativeTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesHybridInstrumentsTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesTradingActivitiesGainLossByTypeTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueMeasuredOnRecurringBasisGainLossIncludedInEarningsTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueOptionQuantitativeDisclosuresTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingFeesEarnedInExchangeForServicingFinancialAssetsTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |
 | us-gaap:IncomeStatementLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsurance |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceFinancialGuaranteeInsuranceContractsClaimLiabilityTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceFinancialGuaranteeInsuranceContractsPremiumReceivedOverContractPeriodTable |
 | us-gaap:IncomeStatementLocationDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceShortdurationInsuranceContractsDiscountedLiabilitiesTable |