<DefinitionAndReference>
  <Element Id="rr_ProspectusDate">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_PortfolioTurnoverHeading">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_PerformanceNarrativeTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleNoRedemptionTableTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_PerformanceOneYearOrLess">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_DistributionAndService12b1FeesOverAssets">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="dei_DocumentPeriodEndDate">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseHeading">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="dei_DocumentCreationDate">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_Component1OtherExpensesOverAssets">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_StrategyNarrativeTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ObjectiveHeading">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseNarrativeTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleNoRedemptionYear01">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpensesOverAssets">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_OperatingExpensesCaption">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="dei_DocumentType">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="dei_DocumentEffectiveDate">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_FeeWaiverOrReimbursementOverAssetsDateOfTermination">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_BarChartAndPerformanceTableHeading">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_NetExpensesOverAssets">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleYear03">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_StrategyPortfolioConcentration">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleNoRedemptionYear03">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_FeeWaiverOrReimbursementOverAssets">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_PortfolioTurnoverTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleHeading">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_RiskNarrativeTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="dei_EntityRegistrantName">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_MaximumDeferredSalesChargeOverOfferingPrice">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleNarrativeTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_StrategyHeading">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ManagementFeesOverAssets">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_Component2OtherExpensesOverAssets">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ShareholderFeesTableTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_MaximumSalesChargeImposedOnPurchasesOverOfferingPrice">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_OtherExpensesNewFundBasedOnEstimates">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ShareholderFeesCaption">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="dei_EntityCentralIndexKey">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleWithRedemptionTableTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleYear01">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ExpenseExampleClosingTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_RiskNotInsuredDepositoryInstitution">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="dei_AmendmentFlag">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ObjectivePrimaryTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_RiskLoseMoney">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_AnnualFundOperatingExpensesTableTextBlock">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_RiskReturnHeading">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_RiskHeading">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
</DefinitionAndReference>
