 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:CommonStockCapitalSharesReservedForFutureIssuance | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPolicyForIssuingSharesUponExercise | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesToBeRepurchasedNextYear | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensation |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:CommonStockCapitalSharesReservedForFutureIssuance | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherShareIncreaseDecrease | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPolicyForIssuingSharesUponExercise | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |
 | us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesToBeRepurchasedNextYear | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsStockCompensationScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable |