 | us-gaap:TradingSecuritiesDebt | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossCurrentAbstract | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:DebtSecuritiesCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:TradingSecuritiesDebt | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossCurrentAbstract | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:DebtSecuritiesCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:TradingSecuritiesDebt | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossCurrentAbstract | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:DebtSecuritiesCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:TradingSecuritiesDebt | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossCurrentAbstract | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:DebtSecuritiesCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |