XML 139 R88.htm IDEA: XBRL DOCUMENT
v3.25.0.1

BENEFIT PLANS - Narrative (Details) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2025 | Dec. 31, 2024 USD ($) employee plan | Dec. 31, 2023 USD ($) plan | Dec. 31, 2022 USD ($)
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Number of funded, noncontributory defined benefit pension plans | plan |  | 2 |  |
Number of unfunded, nonqualified pension plans | plan |  | 3 |  |
Percentage of contributions to individual multiemployer pension funds (as percent) |  | 5.00% | 5.00% | 5.00%
Contributions to multiemployer pension plans |  | $ 30.2 | $ 36.6 | $ 48.6
Percentage of domestic hourly labor force covered by collective bargaining agreements (as percent) |  | 14.70% |  |
Percentage of domestic hourly labor force covered by collective bargaining agreements expiring in 2025 (as percent) |  | 48.80% |  |
Number of supplemental retirement plans | plan |  | 1 | 1 |
Accrued costs for supplemental retirement plan |  | $ 0.5 | $ 0.4 |
Expected return on plan assets (as percent) |  | 4.85% | 4.85% |
Number of defined contribution plans | plan |  | 7 |  |
Expense recognized related to defined contribution plans |  | $ 87.5 | $ 79.2 | 68.2
Forecast |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Expected return on plan assets (as percent) | 5.90% |  |  |
Minimum |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Discount rate (as percent) |  | 5.25% | 4.77% |
Maximum |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Discount rate (as percent) |  | 5.73% | 5.05% |
Foreign Plan |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Number of employees | employee |  | 248 |  |
Pension Plans, Defined Benefit |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Projected benefit obligation |  | $ 640.8 | $ 693.3 | 691.1
Employer contribution |  | 8.7 | $ 7.4 | $ 7.8
Estimated employer contribution in 2025 |  | $ 13.8 |  |
Discount rate (as percent) |  | 5.65% | 5.00% | 5.19%
Estimated weighted-average discount rate to measure service cost (as percent) |  | 5.10% | 5.29% |
Estimated weighted-average discount rate to measure interest cost (as percent) |  | 4.90% | 5.09% |
Expected return on plan assets (as percent) |  | 4.85% | 4.85% | 4.00%
Other Postretirement Benefit Plans, Defined Benefit |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Projected benefit obligation |  | $ 42.2 | $ 44.2 | $ 41.8
Employer contribution |  | 3.4 | $ 5.2 | $ 4.9
Estimated employer contribution in 2025 |  | $ 4.7 |  |
Discount rate (as percent) |  | 5.51% | 4.90% | 5.08%
Estimated weighted-average discount rate to measure service cost (as percent) |  | 4.96% | 5.15% |
Estimated weighted-average discount rate to measure interest cost (as percent) |  | 4.85% | 5.03% |
Future percent of per capita cost of covered healthcare benefits (as percent) |  | 4.50% |  |
Other Postretirement Benefit Plans, Defined Benefit | Pre-65 |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Healthcare cost trend rate assumed for next year (Pre-65/Post-65) (as percent) |  | 8.45% | 10.20% | 7.04%
Nonqualified Plan | Pension Plans, Defined Benefit |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Projected benefit obligation |  | $ 32.5 | $ 39.7 |
Employer contribution |  | 6.7 | 7.4 | $ 7.8
Estimated employer contribution in 2025 |  | 4.2 |  |
Qualified Plan | Pension Plans, Defined Benefit |  |  |  |
Defined Benefit Plan Disclosure [Line Items] |  |  |  |
Employer contribution |  | 2.0 | $ 0.0 | $ 0.0
Estimated employer contribution in 2025 |  | $ 9.6 |  |

X
- Definition Number of persons employed by the Entity + References No definition available. + Details
Name: | dei_EntityNumberOfEmployees
Namespace Prefix: | dei_
Data Type: | xbrli:decimalItemType
Balance Type: | na
Period Type: | instant

X
- Definition Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (k)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Weighted average rate of return on plan assets, reflecting average rate of earnings expected on existing plan assets and expected contributions, used to determine net periodic benefit cost of defined benefit plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (k)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of actuarial present value of benefits attributed to service rendered by employee for defined benefit plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanBenefitObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of contribution received by defined benefit plan from employer which increases plan assets. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 17 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (d)(iv)(01) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 18 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-6 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (d)(ii) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (d)(iv)(01) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanContributionsByEmployer
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_DefinedBenefitPlanDisclosureLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of contribution expected to be received by defined benefit plan from employer in next fiscal year following current fiscal year. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 18 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480482/715-20-55-18 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanExpectedFutureEmployerContributionsNextFiscalYear
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Assumed rate, for next fiscal year, based on annual change in cost of health care cost benefits used to measure expected cost of benefits covered by defined benefit postretirement plan. Factors include, but are not limited to, estimate of health care inflation, change in health care utilization or delivery pattern, technological advances, and change in health status of participant. Excludes factors for change in composition of plan population by age and dependency status. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (l) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1 + Details
Name: | us-gaap_DefinedBenefitPlanHealthCareCostTrendRateAssumedNextFiscalYear
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of cost for defined contribution plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 70 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480794/715-70-50-1 + Details
Name: | us-gaap_DefinedContributionPlanCostRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of cost for employer contribution to multiemployer plan. Multiemployer plan includes, but is not limited to, pension plan determined to be individually significant and insignificant and other postretirement benefit plan. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 35 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480606/715-80-35-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-11 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-9 + Details
Name: | us-gaap_MultiemployerPlanEmployerContributionCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Percentage of entity's employees covered by collective-bargaining arrangement (CBA) to all participants in multiemployer pension plan determined to be individually significant. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlanPensionSignificantEmployeesCoveredByCollectiveBargainingArrangementToAllParticipantsPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Accrued costs for supplemental retirement plan. + References No definition available. + Details
Name: | vmc_AccruedCostsForSupplementalRetirementPlan
Namespace Prefix: | vmc_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Estimated Weighted-average Discount Rate To Measure Interest Cost + References No definition available. + Details
Name: | vmc_EstimatedWeightedAverageDiscountRateToMeasureInterestCost
Namespace Prefix: | vmc_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Estimated Weighted-average Discount Rate To Measure Service Cost + References No definition available. + Details
Name: | vmc_EstimatedWeightedAverageDiscountRateToMeasureServiceCost
Namespace Prefix: | vmc_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Future Percent Of Per Capita Cost Of Covered Healthcare Benefits + References No definition available. + Details
Name: | vmc_FuturePercentOfPerCapitaCostOfCoveredHealthcareBenefits
Namespace Prefix: | vmc_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Maximum percentage of contributions to individual multiemployer pension funds. + References No definition available. + Details
Name: | vmc_MaximumPercentageOfContributionsToIndividualMultiemployerPensionFunds
Namespace Prefix: | vmc_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage of employees covered by a collective bargaining agreement that will expire in the next year. + References No definition available. + Details
Name: | vmc_MultiemployerPlansCollectiveBargainingArrangementExpiredPercentageOfParticipants
Namespace Prefix: | vmc_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of defined contribution plans. + References No definition available. + Details
Name: | vmc_NumberOfDefinedContributionPlans
Namespace Prefix: | vmc_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of funded noncontributory defined benefit pension plans. + References No definition available. + Details
Name: | vmc_NumberOfFundedNoncontributoryDefinedBenefitPensionPlans
Namespace Prefix: | vmc_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number Of Supplemental Retirement Plans + References No definition available. + Details
Name: | vmc_NumberOfSupplementalRetirementPlans
Namespace Prefix: | vmc_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Number of unfunded, nonqualified pension plans. + References No definition available. + Details
Name: | vmc_NumberOfUnfundedPensionPlans
Namespace Prefix: | vmc_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | srt_StatementScenarioAxis=srt_ScenarioForecastMember
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: |

X
- Details
Name: | us-gaap_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=vmc_Pre65Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTaxStatusAxis=us-gaap_NonqualifiedPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTaxStatusAxis=us-gaap_QualifiedPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |