 | us-gaap:DerivativeContractTypeDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingAssetsTable |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingLiabilitiesTable |
 | us-gaap:DerivativeContractTypeDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesFairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable |
 | us-gaap:DerivativeContractTypeDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:DerivativeContractTypeDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingTransferOfFinancialAssetsAccountedForAsSalesTable |
 | us-gaap:DerivativeContractTypeDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesBankingAndThrift |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesBankingAndThriftTransferOfFinancialAssetsAccountedForAsSalesTable |
 | us-gaap:DerivativeContractTypeDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesBrokersAndDealers |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesBrokersAndDealersTransferOfFinancialAssetsAccountedForAsSalesTable |
 | us-gaap:DerivativeContractTypeDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInvestmentCompany |
 | us-gaap:DerivativeContractTypeDomain | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInvestmentCompanyInvestmentHoldingsTable |