 | us-gaap:FairValueAssetsLevel1ToLevel2TransfersDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueAssetsLevel1ToLevel2TransfersAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueAssetsLevel2ToLevel1TransfersDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueAssetsLevel2ToLevel1TransfersAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueLiabilitiesLevel1ToLevel2TransfersDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueLiabilitiesLevel1ToLevel2TransfersAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueLiabilitiesLevel2ToLevel1TransfersDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueLiabilitiesLevel2ToLevel1TransfersAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueEquityLevel1ToLevel2TransfersDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueEquityLevel1ToLevel2TransfersAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueEquityLevel2ToLevel1TransfersDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueEquityLevel2ToLevel1TransfersAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueAssetsLevel1ToLevel2TransfersDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueAssetsLevel1ToLevel2TransfersAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueAssetsLevel2ToLevel1TransfersDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueAssetsLevel2ToLevel1TransfersAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueLiabilitiesLevel1ToLevel2TransfersDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueLiabilitiesLevel1ToLevel2TransfersAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueLiabilitiesLevel2ToLevel1TransfersDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueLiabilitiesLevel2ToLevel1TransfersAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueEquityLevel1ToLevel2TransfersDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueEquityLevel1ToLevel2TransfersAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueEquityLevel2ToLevel1TransfersDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueEquityLevel2ToLevel1TransfersAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |