 | us-gaap:CreditDerivativesByContractTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:InternalCreditAssessmentAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:UnderlyingAssetClassAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | srt:CreditRatingMoodysAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | srt:CreditRatingFitchAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | srt:CreditRatingStandardPoorsAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:ExternalCreditRatingByGroupingAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:ValuationTechniqueAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:BalanceSheetLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:IncomeStatementLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:PositionAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:CreditDerivativesLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:CreditDerivativesByContractTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:InternalCreditAssessmentAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:UnderlyingAssetClassAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | srt:CreditRatingMoodysAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | srt:CreditRatingFitchAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | srt:CreditRatingStandardPoorsAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:ExternalCreditRatingByGroupingAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:ValuationTechniqueAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:BalanceSheetLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:IncomeStatementLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |
 | us-gaap:PositionAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesScheduleOfCreditDerivativesTable |