 | us-gaap:DerivativeAssetFairValueNetAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeAssetNotSubjectToMasterNettingArrangement | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeAssets | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeAssetFairValueNetAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingAssetsTable |
 | us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingAssetsTable |
 | us-gaap:DerivativeAssetNotSubjectToMasterNettingArrangement | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingAssetsTable |
 | us-gaap:DerivativeAssets | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingAssetsTable |
 | us-gaap:DerivativeAssetsCurrent | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeAssetsNoncurrent | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeAssets | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |