 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossNoncurrentAbstract | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossNoncurrentAbstract | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossNoncurrentAbstract | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossNoncurrent | summation-item | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:HeldToMaturitySecurities | summation-item | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedSecondAlternative |
 | us-gaap:DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLossNoncurrentAbstract | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:HeldToMaturitySecuritiesClassifiedAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:HeldToMaturitySecuritiesClassifiedAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfHeldToMaturitySecuritiesTable |