 | us-gaap:PriceRiskFairValueHedgeDerivativeAtFairValueNetAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:PriceRiskDerivativesAtFairValueNetAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:PriceRiskCashFlowHedgeDerivativeAtFairValueNetAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:PriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsAtFairValueNetAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:UnrealizedGainLossOnPriceRiskCashFlowDerivativesBeforeTaxAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:GainLossOnPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstruments | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:GainLossOnPriceRiskDerivativesNet | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:PriceRiskDerivativesTable | all | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:PriceRiskFairValueHedgeDerivativeAtFairValueNetAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:PriceRiskDerivativesAtFairValueNetAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:PriceRiskCashFlowHedgeDerivativeAtFairValueNetAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:PriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsAtFairValueNetAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:UnrealizedGainLossOnPriceRiskCashFlowDerivativesBeforeTaxAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:GainLossOnPriceRiskDerivativeInstrumentsNotDesignatedAsHedgingInstruments | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |
 | us-gaap:GainLossOnPriceRiskDerivativesNet | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesPriceRiskDerivativesTable |