XML 145 R85.htm IDEA: XBRL DOCUMENT v2.4.1.9
BENEFIT PLANS (Components of Net Periodic Benefit Cost, Amounts Recognized in Other Comprehensive Income, Weighted-Average Assumptions) (Details) (USD $)
1 Months Ended 12 Months Ended
Mar. 31, 2014
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Components of Net Periodic Benefit Cost        
Service cost   $ 4,157,000us-gaap_DefinedBenefitPlanServiceCost $ 21,904,000us-gaap_DefinedBenefitPlanServiceCost  
Interest cost   44,392,000us-gaap_DefinedBenefitPlanInterestCost 40,995,000us-gaap_DefinedBenefitPlanInterestCost  
Defined Benefit Plan, Assumed Health Care Cost Trend Rates [Abstract]        
Healthcare cost trend rate assumed for next year   7.50%us-gaap_DefinedBenefitPlanHealthCareCostTrendRateAssumedForNextFiscalYear    
Rate to which the cost trend rate gradually declines   5.00%us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate    
Year that the rate reaches the rate it is assumed to maintain   2025    
Weighted-average assumptions used to determine net periodic benefit cost for years ended December 31        
Expected return on plan assets   7.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets    
Pension Plans, Defined Benefit        
Components of Net Periodic Benefit Cost        
Service cost   4,157,000us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
21,904,000us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
22,349,000us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Interest cost   44,392,000us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
40,995,000us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
43,194,000us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Expected return on plan assets   (50,802,000)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(47,425,000)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(48,780,000)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Curtailment (gain) loss   0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
855,000us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Amortization of prior service cost (credit)   188,000us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
339,000us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
274,000us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Amortization of actuarial loss   11,221,000us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
20,429,000us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
19,526,000us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Net periodic pension benefit cost   9,156,000us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
37,097,000us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
36,563,000us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income        
Net actuarial loss (gain)   118,915,000us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(163,205,000)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
63,981,000us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Prior service cost (credit)   0us-gaap_OtherComprehensiveIncomeDefinedBenefitPlanNetPriorServiceCostCreditArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(583,000)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlanNetPriorServiceCostCreditArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
1,286,000us-gaap_OtherComprehensiveIncomeDefinedBenefitPlanNetPriorServiceCostCreditArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Pretax reclassification from AOCI included in net periodic postretirement benefit cost   (11,221,000)us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(20,429,000)us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(19,526,000)us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Reclassification of prior service cost to net periodic pension benefit cost   (188,000)us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(1,194,000)us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(274,000)us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Amount recognized in other comprehensive income   107,506,000us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(185,411,000)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
45,467,000us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Amount recognized in net periodic pension benefit cost and other comprehensive income   116,662,000vmc_DefinedBenefitPlansAmountRecognizedInNetPeriodicpensionBenefitCostAndOtherComprehensiveIncome
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(148,314,000)vmc_DefinedBenefitPlansAmountRecognizedInNetPeriodicpensionBenefitCostAndOtherComprehensiveIncome
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
82,030,000vmc_DefinedBenefitPlansAmountRecognizedInNetPeriodicpensionBenefitCostAndOtherComprehensiveIncome
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Weighted-average assumptions used to determine net periodic benefit cost for years ended December 31        
Discount rate   4.91%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.33%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.96%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Expected return on plan assets   7.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
7.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Rate of compensation increase (for salary-related plans)   3.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
3.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
3.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Weighted-average assumptions used to determine benefit obligation at December 31        
Discount rate   4.14%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.91%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.19%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Rate of compensation increase (for salary-related plans)   3.70%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
3.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
3.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Other Postretirement Benefit Plans, Defined Benefit        
Components of Net Periodic Benefit Cost        
Service cost   2,146,000us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
2,830,000us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
4,409,000us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Interest cost   3,297,000us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
3,260,000us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
5,851,000us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Curtailment (gain) loss (3,832,000)us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(3,832,000)us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Amortization of prior service cost (credit)   (4,327,000)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(4,863,000)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(1,372,000)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Amortization of actuarial loss   227,000us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1,372,000us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1,346,000us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Net periodic pension benefit cost   (2,489,000)us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
2,599,000us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
10,234,000us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income        
Net actuarial loss (gain)   (5,256,000)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(20,444,000)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
13,562,000us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansNetUnamortizedGainLossArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Prior service cost (credit)   0us-gaap_OtherComprehensiveIncomeDefinedBenefitPlanNetPriorServiceCostCreditArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_OtherComprehensiveIncomeDefinedBenefitPlanNetPriorServiceCostCreditArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(38,414,000)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlanNetPriorServiceCostCreditArisingDuringPeriodBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Pretax reclassification from AOCI included in net periodic postretirement benefit cost   (227,000)us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(1,372,000)us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(1,346,000)us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Reclassification of prior service cost to net periodic pension benefit cost   8,159,000us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
4,863,000us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1,372,000us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Amount recognized in other comprehensive income   2,676,000us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(16,953,000)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(24,826,000)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Amount recognized in net periodic pension benefit cost and other comprehensive income   $ 187,000vmc_DefinedBenefitPlansAmountRecognizedInNetPeriodicpensionBenefitCostAndOtherComprehensiveIncome
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
$ (14,354,000)vmc_DefinedBenefitPlansAmountRecognizedInNetPeriodicpensionBenefitCostAndOtherComprehensiveIncome
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
$ (14,592,000)vmc_DefinedBenefitPlansAmountRecognizedInNetPeriodicpensionBenefitCostAndOtherComprehensiveIncome
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Defined Benefit Plan, Assumed Health Care Cost Trend Rates [Abstract]        
Healthcare cost trend rate assumed for next year   7.50%us-gaap_DefinedBenefitPlanHealthCareCostTrendRateAssumedForNextFiscalYear
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
7.50%us-gaap_DefinedBenefitPlanHealthCareCostTrendRateAssumedForNextFiscalYear
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
8.00%us-gaap_DefinedBenefitPlanHealthCareCostTrendRateAssumedForNextFiscalYear
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Rate to which the cost trend rate gradually declines   5.00%us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
5.00%us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
5.00%us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Year that the rate reaches the rate it is assumed to maintain   2025 2019 2019
Weighted-average assumptions used to determine net periodic benefit cost for years ended December 31        
Discount rate   4.10%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
3.30%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
4.60%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Weighted-average assumptions used to determine benefit obligation at December 31        
Discount rate   3.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
4.10%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
3.30%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember