 | us-gaap:NonoperatingGainsLossesAbstract | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:RoyaltyIncomeNonoperating | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:RentalIncomeNonoperating | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:DevelopmentProfitsNonoperating | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:RecoveryStrandedCosts | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:LeveragedLeasesIncomeStatementNetIncomeFromLeveragedLeases | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:InvestmentIncomeNetAbstract | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:InvestmentIncomeNonoperating | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternative |
 | us-gaap:NonoperatingGainsLossesAbstract | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:RoyaltyIncomeNonoperating | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:RentalIncomeNonoperating | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:DevelopmentProfitsNonoperating | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:RecoveryStrandedCosts | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:LeveragedLeasesIncomeStatementNetIncomeFromLeveragedLeases | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:InvestmentIncomeNetAbstract | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:InvestmentIncomeNonoperating | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeAlternativeStatementTable |
 | us-gaap:NonoperatingGainsLossesAbstract | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:RoyaltyIncomeNonoperating | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:RentalIncomeNonoperating | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:DevelopmentProfitsNonoperating | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:RecoveryStrandedCosts | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:LeveragedLeasesIncomeStatementNetIncomeFromLeveragedLeases | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:OperatingLeaseInitialDirectCostExpenseOverTerm | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:SalesTypeLeaseInitialDirectCostExpenseCommencement | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:InvestmentIncomeNetAbstract | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:InvestmentIncomeNonoperating | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfIncome |
 | us-gaap:NonoperatingGainsLossesAbstract | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:RoyaltyIncomeNonoperating | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:RentalIncomeNonoperating | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:DevelopmentProfitsNonoperating | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:RecoveryStrandedCosts | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:LeveragedLeasesIncomeStatementNetIncomeFromLeveragedLeases | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:OperatingLeaseInitialDirectCostExpenseOverTerm | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:SalesTypeLeaseInitialDirectCostExpenseCommencement | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:InvestmentIncomeNetAbstract | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |
 | us-gaap:InvestmentIncomeNonoperating | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfIncomeStatementTable |