 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1 | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationDescriptionAndTerms | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationNumberOfEmployeesAffected | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMethodOfMeasuringCostOfAward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfSharesRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValueRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedPaymentArrangementExtensibleListAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable | all | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardTermsOfAward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1 | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationDate | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationDescriptionAndTerms | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationNumberOfEmployeesAffected | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMethodOfMeasuringCostOfAward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfSharesRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValueRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedPaymentArrangementExtensibleListAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |