 | us-gaap:FairValueNetAssetLiabilityAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:EquityFairValueDisclosureAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueAdjustmentDisclosureAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueByFairValueHierarchyLevelExtensibleListAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueTransferPolicyPolicyTextBlock | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueTransfersBetweenLevel1AndLevel2DescriptionAndPolicyAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosures |
 | us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable | all | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueNetAssetLiabilityAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:EquityFairValueDisclosureAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueAdjustmentDisclosureAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueByFairValueHierarchyLevelExtensibleListAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueTransferPolicyPolicyTextBlock | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |
 | us-gaap:FairValueTransfersBetweenLevel1AndLevel2DescriptionAndPolicyAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialInstrumentsFairValueDisclosuresFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable |