<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>5317</ContextCount>
  <ElementCount>47</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>496</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="f41004d1.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>030000 - Disclosure - Form N-CSR Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/oef/role/NcsrCover</Role>
      <ShortName>Form N-CSR Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="f41004d1.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>030001 - Disclosure - Shareholder Report</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/oef/role/ShareholderReport</Role>
      <ShortName>Shareholder Report</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="f41004d1.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>040010 - Disclosure - Shareholder Report, Line Graph (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/oef/role/ShareholderReportLineGraphDetails</Role>
      <ShortName>Shareholder Report, Line Graph (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="f41004d1.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>040020 - Disclosure - Shareholder Report, Holdings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/oef/role/ShareholderReportHoldingsDetails</Role>
      <ShortName>Shareholder Report, Holdings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="N-CSR" isDefinitelyNotFs="true" isNcsr="true" isOEF="true" isRRorOEF="true" isUsgaap="true" original="f41004d1.htm">f41004d1.htm</File>
    <File>jhvit-20250223.xsd</File>
  </InputFiles>
  <SupplementalFiles>
    <File>chartimages_5658057.jpg</File>
    <File>chartimages_5658065.jpg</File>
    <File>chartimages_5658109.jpg</File>
    <File>chartimages_5658122.jpg</File>
    <File>chartimages_5658126.jpg</File>
    <File>chartimages_5658143.jpg</File>
    <File>chartimages_5658162.jpg</File>
    <File>chartimages_5658168.jpg</File>
    <File>chartimages_5658173.jpg</File>
    <File>chartimages_5658261.jpg</File>
    <File>chartimages_5658284.jpg</File>
    <File>chartimages_5658311.jpg</File>
    <File>chartimages_5658346.jpg</File>
    <File>chartimages_5658359.jpg</File>
    <File>chartimages_5658568.jpg</File>
    <File>chartimages_5658614.jpg</File>
    <File>chartimages_5658829.jpg</File>
    <File>chartimages_5658856.jpg</File>
    <File>chartimages_5659085.jpg</File>
    <File>chartimages_5659105.jpg</File>
    <File>chartimages_5659131.jpg</File>
    <File>chartimages_5659135.jpg</File>
    <File>chartimages_5659188.jpg</File>
    <File>chartimages_5659190.jpg</File>
    <File>chartimages_5659203.jpg</File>
    <File>chartimages_5659244.jpg</File>
    <File>chartimages_5659270.jpg</File>
    <File>chartimages_5659279.jpg</File>
    <File>chartimages_5659340.jpg</File>
    <File>chartimages_5659385.jpg</File>
    <File>chartimages_5659400.jpg</File>
    <File>chartimages_5659699.jpg</File>
    <File>chartimages_5659711.jpg</File>
    <File>chartimages_5659734.jpg</File>
    <File>chartimages_5659739.jpg</File>
    <File>chartimages_5659765.jpg</File>
    <File>chartimages_5659782.jpg</File>
    <File>chartimages_5659793.jpg</File>
    <File>chartimages_5659798.jpg</File>
    <File>chartimages_5659809.jpg</File>
    <File>chartimages_5659814.jpg</File>
    <File>chartimages_5659848.jpg</File>
    <File>chartimages_5659889.jpg</File>
    <File>chartimages_5659903.jpg</File>
    <File>chartimages_5659929.jpg</File>
    <File>chartimages_5660250.jpg</File>
    <File>chartimages_5660292.jpg</File>
    <File>chartimages_5660307.jpg</File>
    <File>chartimages_5660334.jpg</File>
    <File>chartimages_5660376.jpg</File>
    <File>chartimages_5660391.jpg</File>
    <File>chartimages_5660418.jpg</File>
    <File>chartimages_5660446.jpg</File>
    <File>chartimages_5660472.jpg</File>
    <File>chartimages_5660480.jpg</File>
    <File>chartimages_5660536.jpg</File>
    <File>chartimages_5660540.jpg</File>
    <File>chartimages_5660570.jpg</File>
    <File>chartimages_5660584.jpg</File>
    <File>chartimages_5660599.jpg</File>
    <File>chartimages_5660659.jpg</File>
    <File>chartimages_5660723.jpg</File>
    <File>chartimages_5660733.jpg</File>
    <File>chartimages_5660756.jpg</File>
    <File>chartimages_5660840.jpg</File>
    <File>chartimages_5660972.jpg</File>
    <File>chartimages_5660983.jpg</File>
    <File>chartimages_5660995.jpg</File>
    <File>chartimages_5661009.jpg</File>
    <File>chartimages_5661022.jpg</File>
    <File>chartimages_5661034.jpg</File>
    <File>chartimages_5661040.jpg</File>
    <File>chartimages_5661044.jpg</File>
    <File>chartimages_5661069.jpg</File>
    <File>chartimages_5661108.jpg</File>
    <File>chartimages_5661144.jpg</File>
    <File>chartimages_5661145.jpg</File>
    <File>chartimages_5661165.jpg</File>
    <File>chartimages_5661185.jpg</File>
    <File>chartimages_5661200.jpg</File>
    <File>chartimages_5661672.jpg</File>
    <File>chartimages_5661702.jpg</File>
    <File>chartimages_5661705.jpg</File>
    <File>chartimages_5661732.jpg</File>
    <File>chartimages_5661891.jpg</File>
    <File>chartimages_5661929.jpg</File>
    <File>chartimages_5661933.jpg</File>
    <File>chartimages_5661964.jpg</File>
    <File>chartimages_5661969.jpg</File>
    <File>chartimages_5661983.jpg</File>
    <File>chartimages_5662005.jpg</File>
    <File>chartimages_5662010.jpg</File>
    <File>chartimages_5662017.jpg</File>
    <File>chartimages_5662022.jpg</File>
    <File>chartimages_5662027.jpg</File>
    <File>chartimages_5662044.jpg</File>
    <File>chartimages_5662077.jpg</File>
    <File>chartimages_5662082.jpg</File>
    <File>chartimages_5662098.jpg</File>
    <File>chartimages_5662139.jpg</File>
    <File>chartimages_5662153.jpg</File>
    <File>chartimages_5662179.jpg</File>
    <File>chartimages_5662220.jpg</File>
    <File>chartimages_5662246.jpg</File>
    <File>chartimages_5662272.jpg</File>
    <File>chartimages_5662313.jpg</File>
    <File>chartimages_5662327.jpg</File>
    <File>chartimages_5662355.jpg</File>
    <File>chartimages_5662359.jpg</File>
    <File>chartimages_5662374.jpg</File>
    <File>chartimages_5662426.jpg</File>
    <File>chartimages_5662441.jpg</File>
    <File>chartimages_5662479.jpg</File>
    <File>chartimages_5662490.jpg</File>
    <File>chartimages_5662511.jpg</File>
    <File>chartimages_5662569.jpg</File>
    <File>chartimages_5662611.jpg</File>
    <File>chartimages_5662642.jpg</File>
    <File>chartimages_5663165.jpg</File>
    <File>chartimages_5663170.jpg</File>
    <File>chartimages_5663204.jpg</File>
    <File>chartimages_5663209.jpg</File>
    <File>chartimages_5663243.jpg</File>
    <File>chartimages_5663248.jpg</File>
    <File>chartimages_5663324.jpg</File>
    <File>chartimages_5663329.jpg</File>
    <File>chartimages_5663363.jpg</File>
    <File>chartimages_5663368.jpg</File>
    <File>chartimages_5663402.jpg</File>
    <File>chartimages_5663407.jpg</File>
    <File>chartimages_5663480.jpg</File>
    <File>chartimages_5663485.jpg</File>
    <File>chartimages_5663519.jpg</File>
    <File>chartimages_5663524.jpg</File>
    <File>chartimages_5663558.jpg</File>
    <File>chartimages_5663563.jpg</File>
    <File>chartimages_5663636.jpg</File>
    <File>chartimages_5663641.jpg</File>
    <File>chartimages_5663675.jpg</File>
    <File>chartimages_5663680.jpg</File>
    <File>chartimages_5663714.jpg</File>
    <File>chartimages_5663719.jpg</File>
    <File>chartimages_5663797.jpg</File>
    <File>chartimages_5663836.jpg</File>
    <File>chartimages_5663875.jpg</File>
    <File>chartimages_5663909.jpg</File>
    <File>chartimages_5663919.jpg</File>
    <File>chartimages_5663948.jpg</File>
    <File>chartimages_5663958.jpg</File>
    <File>chartimages_5663987.jpg</File>
    <File>chartimages_5663997.jpg</File>
    <File>chartimages_5664065.jpg</File>
    <File>chartimages_5664070.jpg</File>
    <File>chartimages_5664104.jpg</File>
    <File>chartimages_5664109.jpg</File>
    <File>chartimages_5664143.jpg</File>
    <File>chartimages_5664148.jpg</File>
    <File>chartimages_5664221.jpg</File>
    <File>chartimages_5664226.jpg</File>
    <File>chartimages_5664260.jpg</File>
    <File>chartimages_5664265.jpg</File>
    <File>chartimages_5664299.jpg</File>
    <File>chartimages_5664304.jpg</File>
    <File>chartimages_5664377.jpg</File>
    <File>chartimages_5664382.jpg</File>
    <File>chartimages_5664416.jpg</File>
    <File>chartimages_5664421.jpg</File>
    <File>chartimages_5664455.jpg</File>
    <File>chartimages_5664460.jpg</File>
    <File>chartimages_5664533.jpg</File>
    <File>chartimages_5664538.jpg</File>
    <File>chartimages_5664572.jpg</File>
    <File>chartimages_5664577.jpg</File>
    <File>chartimages_5664611.jpg</File>
    <File>chartimages_5664616.jpg</File>
    <File>chartimages_5664689.jpg</File>
    <File>chartimages_5664728.jpg</File>
    <File>chartimages_5664767.jpg</File>
    <File>chartimages_5664845.jpg</File>
    <File>chartimages_5664884.jpg</File>
    <File>chartimages_5664923.jpg</File>
    <File>chartimages_5665001.jpg</File>
    <File>chartimages_5665040.jpg</File>
    <File>chartimages_5665079.jpg</File>
    <File>chartimages_5665157.jpg</File>
    <File>chartimages_5665196.jpg</File>
    <File>chartimages_5665235.jpg</File>
    <File>chartimages_5665313.jpg</File>
    <File>chartimages_5665318.jpg</File>
    <File>chartimages_5665352.jpg</File>
    <File>chartimages_5665357.jpg</File>
    <File>chartimages_5665391.jpg</File>
    <File>chartimages_5665396.jpg</File>
    <File>images_4833.jpg</File>
    <File>images_4852.jpg</File>
    <File>img415a324f1.jpg</File>
    <File>img446aa46d2.gif</File>
    <File>img58ebf5891.gif</File>
    <File>img614cbbb52.gif</File>
    <File>img8071ba7a2.gif</File>
    <File>imgd4d567da1.gif</File>
    <File>imgfbc16fbe1.gif</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="293">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="154">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="9407">http://xbrl.sec.gov/oef/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
