 | us-gaap:MeasurementInputRiskFreeInterestRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputExpectedDividendRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputDiscountRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputSharePriceMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputAppraisedValueMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputCreditSpreadMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputCommodityMarketPriceMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputCommodityForwardPriceMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputCommodityFuturePriceMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputMaturityMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputDefaultRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputLossSeverityMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputEbitdaMultipleMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputRevenueMultipleMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputLongTermRevenueGrowthRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputCounterpartyCreditRiskMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputExercisePriceMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputPriceVolatilityMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputOptionVolatilityMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputConversionPriceMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputExpectedTermMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputConstantPrepaymentRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputPrepaymentRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputDiscountForLackOfMarketabilityMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputCostToSellMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputLapseRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputMortalityRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputUtilizationRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputWithdrawalRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputCapRateMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputComparabilityAdjustmentMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputEntityCreditRiskMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputExpectedDividendPaymentMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputControlPremiumMember | domain-member | http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists |
 | us-gaap:MeasurementInputDefaultRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputLossSeverityMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputExercisePriceMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputComparabilityAdjustmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputPrepaymentRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputDiscountRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputCommodityForwardPriceMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputCreditSpreadMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputQuotedPriceMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputOfferedPriceMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02 |
 | us-gaap:MeasurementInputDefaultRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputLossSeverityMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputExercisePriceMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputComparabilityAdjustmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputPrepaymentRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputDiscountRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputCommodityForwardPriceMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputCreditSpreadMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputQuotedPriceMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |
 | us-gaap:MeasurementInputOfferedPriceMember | domain-member | http://fasb.org/us-gaap/role/disclosure/FairValueMeasuresAndDisclosuresTmp02FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable |