XML 118 R46.htm IDEA: XBRL DOCUMENT
v3.22.0.1

Summary Of Significant Accounting Policies - Estimated useful Lives of Intangible Assets (Detail) | 12 Months Ended
--- | ---
Dec. 31, 2021
Licenses [Member] |
Significant Accounting Policies [Line Items] |
Estimated Useful Life | 22 years
Brand and Trademarks [Member] |
Significant Accounting Policies [Line Items] |
Estimated Useful Life | Indefinite
Computer Software [Member] | Minimum [Member] |
Significant Accounting Policies [Line Items] |
Estimated Useful Life | 3 years
Computer Software [Member] | Maximum [Member] |
Significant Accounting Policies [Line Items] |
Estimated Useful Life | 5 years

X
- Definition Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_FiniteLivedIntangibleAssetUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Indefinite-lived intangible asset useful life. + References No definition available. + Details
Name: | vff_IndefiniteLivedIntangibleAssetUsefulLife
Namespace Prefix: | vff_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Significant Accounting Policies [Line Items]. + References No definition available. + Details
Name: | vff_SignificantAccountingPoliciesLineItems
Namespace Prefix: | vff_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_LicensingAgreementsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=vff_BrandAndTrademarksMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |