 | us-gaap:DerivativeFairValueOfDerivativeAsset | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeAssetFairValueGrossLiability | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeFairValueOfDerivativeAsset | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingAssetsTable |
 | us-gaap:DerivativeAssetFairValueGrossLiability | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingAssetsTable |
 | us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingAssetsTable |
 | us-gaap:DerivativeFairValueOfDerivativeAsset | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeAssetFairValueGrossLiability | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeFairValueOfDerivativeAsset | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:DerivativeAssetFairValueGrossLiability | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:DerivativeFairValueOfDerivativeAsset | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesFairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable |
 | us-gaap:DerivativeAssetFairValueGrossLiability | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesFairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable |
 | us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesFairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable |