<DefinitionAndReference>
  <Element Id="rr_OperatingExpensesCaption">
    <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="dei_DocumentEffectiveDate">
    <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_EntityRegistrantName">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="abf809593_SupplementTextBlock">
    <definition>Supplement.</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="abf809593_SupplementPerformanceTableFootnoteTextBlock">
    <definition>Supplement Performance Table Footnote.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_OperatingExpensesColumnName">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_ProspectusDate">
    <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="rr_FeeWaiverOrReimbursementOverAssetsDateOfTermination">
    <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="dei_EntityCentralIndexKey">
    <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_FeeWaiverOrReimbursementOverAssets">
    <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="dei_DocumentPeriodEndDate">
    <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_AcquiredFundFeesAndExpensesOverAssets">
    <definition>No authoritative reference available.</definition>
    <reference>No authoritative reference available.</reference>
  </Element>
  <Element Id="rr_OtherExpensesOverAssets">
    <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>
</DefinitionAndReference>
