 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchasesSalesIssuancesSettlements | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSales | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetIssues | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetSettlements | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTable |
 | us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchasesSalesIssuancesSettlements | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTable |