 | us-gaap:GainLossFromPriceRiskManagementActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:GainLossOnOilAndGasHedgingActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:GainLossFromPriceRiskManagementActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:GainLossOnOilAndGasHedgingActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:GainLossFromPriceRiskManagementActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateExcludingREITs |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateExcludingREITs |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateExcludingREITs |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateExcludingREITs |
 | us-gaap:GainLossFromPriceRiskManagementActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateExcludingREITsStatementTable |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateExcludingREITsStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateExcludingREITsStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateExcludingREITsStatementTable |
 | us-gaap:GainLossFromPriceRiskManagementActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateInvestmentTrusts |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateInvestmentTrusts |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateInvestmentTrusts |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateInvestmentTrusts |
 | us-gaap:GainLossFromPriceRiskManagementActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateInvestmentTrustsStatementTable |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateInvestmentTrustsStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateInvestmentTrustsStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeRealEstateInvestmentTrustsStatementTable |
 | us-gaap:GainLossFromPriceRiskManagementActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:GainLossOnOilAndGasHedgingActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:GainLossFromPriceRiskManagementActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:GainLossOnOilAndGasHedgingActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:GainLossFromPriceRiskManagementActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenue |
 | us-gaap:GainLossOnOilAndGasHedgingActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenue |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenue |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenue |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenue |
 | us-gaap:GainLossFromPriceRiskManagementActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenueStatementTable |
 | us-gaap:GainLossOnOilAndGasHedgingActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenueStatementTable |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenueStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenueStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeInterestBasedRevenueStatementTable |
 | us-gaap:GainLossFromPriceRiskManagementActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncome |
 | us-gaap:GainLossOnOilAndGasHedgingActivity | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncome |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncome |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncome |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncome |
 | us-gaap:GainLossFromPriceRiskManagementActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncomeStatementTable |
 | us-gaap:GainLossOnOilAndGasHedgingActivity | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncomeStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsHeldForTradingPurposesNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncomeStatementTable |
 | us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncomeStatementTable |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeSecuritiesBasedIncomeStatementTable |
 | us-gaap:GainOnDerivativeInstrumentsPretax | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:LossOnDerivativeInstrumentsPretax | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:GainLossOnDerivativeInstrumentsNetPretax | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |