XML 33 R77.htm IDEA: XBRL DOCUMENT v2.4.1.9
BUSINESS SEGMENTS (Details) (USD $)
In Thousands, unless otherwise specified
3 Months Ended 12 Months Ended
Dec. 27, 2014
Sep. 27, 2014
Jun. 28, 2014
Mar. 29, 2014
Dec. 28, 2013
Sep. 28, 2013
Jun. 29, 2013
Mar. 30, 2013
Dec. 27, 2014
item
Dec. 28, 2013
Dec. 29, 2012
Business Segments                      
Number of reportable segments                 4us-gaap_NumberOfReportableSegments    
Maximum percentage of sales of other businesses and activities to consolidated sales as basis for aggregation                 10.00%vmi_PercentageOfSalesToTotalConsolidatedSalesOfOtherBusinessActivitiesAggregatedAsOtherMaximum    
Net sales $ 763,136us-gaap_SalesRevenueNet $ 765,668us-gaap_SalesRevenueNet $ 842,599us-gaap_SalesRevenueNet $ 751,740us-gaap_SalesRevenueNet $ 827,890us-gaap_SalesRevenueNet $ 778,032us-gaap_SalesRevenueNet $ 878,659us-gaap_SalesRevenueNet $ 819,630us-gaap_SalesRevenueNet $ 3,123,143us-gaap_SalesRevenueNet $ 3,304,211us-gaap_SalesRevenueNet $ 3,029,541us-gaap_SalesRevenueNet
Operating Income                 357,716us-gaap_OperatingIncomeLoss 473,069us-gaap_OperatingIncomeLoss 382,296us-gaap_OperatingIncomeLoss
Interest expense, net                 (30,744)us-gaap_InterestIncomeExpenseNonoperatingNet (26,025)us-gaap_InterestIncomeExpenseNonoperatingNet (23,353)us-gaap_InterestIncomeExpenseNonoperatingNet
Costs associated with refinancing of debt                 (38,705)vmi_CostsAssociatedWithRefinancingOfDebt    
Other                 (4,084)us-gaap_OtherNonoperatingIncomeExpense 2,373us-gaap_OtherNonoperatingIncomeExpense 347us-gaap_OtherNonoperatingIncomeExpense
Earnings before income taxes and equity in earnings of nonconsolidated subsidiaries                 284,183us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments 449,417us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments 359,290us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
Total assets 2,729,668us-gaap_Assets       2,776,494us-gaap_Assets       2,729,668us-gaap_Assets 2,776,494us-gaap_Assets 2,568,551us-gaap_Assets
Capital expenditures                 73,023us-gaap_PaymentsToAcquirePropertyPlantAndEquipment 106,753us-gaap_PaymentsToAcquirePropertyPlantAndEquipment 97,074us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
Depreciation and amortization                 89,328us-gaap_DepreciationDepletionAndAmortization 77,436us-gaap_DepreciationDepletionAndAmortization 70,218us-gaap_DepreciationDepletionAndAmortization
Engineered Infrastructure Products segment:                      
Business Segments                      
Net sales                 1,062,638us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
897,503us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
833,313us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Operating Income                 103,296us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
87,647us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
54,013us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Total assets 1,057,090us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
      873,757us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
      1,057,090us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
873,757us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
784,659us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Capital expenditures                 14,328us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
15,878us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
20,244us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Depreciation and amortization                 40,239us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
31,057us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
27,164us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Engineered Infrastructure Products segment: | Offshore Structures                      
Business Segments                      
Sales                 146,432us-gaap_Revenues
/ us-gaap_ProductOrServiceAxis
= vmi_OffshoreStructuresMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
   
Utility Support Structures segment                      
Business Segments                      
Net sales                 822,565us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
959,695us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
869,663us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Operating Income                 95,118us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
174,740us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
129,025us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Total assets 470,720us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
      524,113us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
      470,720us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
524,113us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
510,943us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Capital expenditures                 9,014us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
39,347us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
41,081us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Depreciation and amortization                 17,811us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
14,375us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
13,284us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Coatings segment                      
Business Segments                      
Net sales                 278,435us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
300,986us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
282,074us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
Operating Income                 60,921us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
74,917us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
71,641us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
Total assets 301,707us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
      315,663us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
      301,707us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
315,663us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
334,841us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
Capital expenditures                 14,029us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
12,206us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
13,280us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
Depreciation and amortization                 14,615us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
14,656us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
12,015us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
Irrigation segment                      
Business Segments                      
Net sales                 759,159us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
882,174us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
750,592us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
Operating Income                 128,145us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
181,498us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
143,605us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
Total assets 331,962us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
      323,435us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
      331,962us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
323,435us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
287,354us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
Capital expenditures                 15,488us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
21,416us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
12,618us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
Depreciation and amortization                 9,352us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
6,679us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
6,209us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
Other                      
Business Segments                      
Net sales                 200,346us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
263,853us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
293,899us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Operating Income                 25,898us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
30,984us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
46,575us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Total assets 117,300us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
      126,337us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
      117,300us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
126,337us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
202,289us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Capital expenditures                 9,220us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
6,270us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
4,428us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Depreciation and amortization                 5,512us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
7,663us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
8,168us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Corporate                      
Business Segments                      
Operating Income                 (55,662)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
(76,717)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
(62,563)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
Total assets 450,889us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
      613,189us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
      450,889us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
613,189us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
448,465us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
Capital expenditures                 10,944us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
11,636us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
5,423us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
Depreciation and amortization                 1,799us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
3,006us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
3,378us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_MaterialReconcilingItemsMember
Parent                      
Business Segments                      
Net sales                 1,392,509us-gaap_SalesRevenueNet
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
1,540,266us-gaap_SalesRevenueNet
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
1,375,238us-gaap_SalesRevenueNet
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Operating Income                 154,714us-gaap_OperatingIncomeLoss
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
223,896us-gaap_OperatingIncomeLoss
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
188,482us-gaap_OperatingIncomeLoss
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Costs associated with refinancing of debt                 (38,705)vmi_CostsAssociatedWithRefinancingOfDebt
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
   
Other                 2,021us-gaap_OtherNonoperatingIncomeExpense
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
4,791us-gaap_OtherNonoperatingIncomeExpense
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
1,938us-gaap_OtherNonoperatingIncomeExpense
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Earnings before income taxes and equity in earnings of nonconsolidated subsidiaries                 83,801us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
197,941us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
159,344us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Total assets 2,167,173us-gaap_Assets
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
      2,224,916us-gaap_Assets
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
      2,167,173us-gaap_Assets
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
2,224,916us-gaap_Assets
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
 
Capital expenditures                 41,260us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
76,582us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
43,590us-gaap_PaymentsToAcquirePropertyPlantAndEquipment
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Depreciation and amortization                 24,509us-gaap_DepreciationDepletionAndAmortization
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
21,270us-gaap_DepreciationDepletionAndAmortization
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
19,121us-gaap_DepreciationDepletionAndAmortization
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Operating segment                      
Business Segments                      
Sales                 3,287,612us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
3,507,256us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
3,218,983us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
Operating segment | Engineered Infrastructure Products segment:                      
Business Segments                      
Sales                 1,137,897us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
1,001,809us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
931,533us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Operating segment | Engineered Infrastructure Products segment: | Lighting, Traffic, and Roadway Products                      
Business Segments                      
Sales                 648,352us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_LightingAndTrafficMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
660,423us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_LightingAndTrafficMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
637,082us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_LightingAndTrafficMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Operating segment | Engineered Infrastructure Products segment: | Communication Products                      
Business Segments                      
Sales                 161,618us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_CommunicationStructuresMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
139,888us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_CommunicationStructuresMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
134,711us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_CommunicationStructuresMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Operating segment | Engineered Infrastructure Products segment: | Access Systems                      
Business Segments                      
Sales                 181,495us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_AccessSystemsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
201,498us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_AccessSystemsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
159,740us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_AccessSystemsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Operating segment | Utility Support Structures segment                      
Business Segments                      
Sales                 825,016us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
962,038us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
873,520us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Operating segment | Utility Support Structures segment | Steel                      
Business Segments                      
Sales                 714,427us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_SteelMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
853,459us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_SteelMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
752,621us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_SteelMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Operating segment | Utility Support Structures segment | Concrete                      
Business Segments                      
Sales                 110,589us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_ConcreteMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
108,579us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_ConcreteMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
120,899us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_ProductOrServiceAxis
= vmi_ConcreteMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Operating segment | Coatings segment                      
Business Segments                      
Sales                 333,853us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
357,635us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
334,552us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
Operating segment | Irrigation segment                      
Business Segments                      
Sales                 759,178us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
882,179us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
750,641us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
Operating segment | Other                      
Business Segments                      
Sales                 231,668us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
303,595us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
328,737us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Intersegment                      
Business Segments                      
Sales                 164,469us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
203,045us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
189,442us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
Intersegment | Engineered Infrastructure Products segment:                      
Business Segments                      
Sales                 75,259us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
104,306us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
98,220us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
Intersegment | Utility Support Structures segment                      
Business Segments                      
Sales                 2,451us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
2,343us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
3,857us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_UtilitySupportStructuresSegmentMember
Intersegment | Coatings segment                      
Business Segments                      
Sales                 55,418us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
56,649us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
52,478us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_CoatingsSegmentMember
Intersegment | Irrigation segment                      
Business Segments                      
Sales                 19us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
5us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
49us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_IrrigationSegmentMember
Intersegment | Other                      
Business Segments                      
Sales                 31,322us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
39,742us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
34,838us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Reclassified | Engineered Infrastructure Products segment:                      
Business Segments                      
Sales                     $ 49,427us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= vmi_EngineeredInfrastructureProductsSegmentMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember