XML 95 R85.htm IDEA: XBRL DOCUMENT v2.4.1.9
Retirement Plans - Schedule of Multiemployer Plans (Details) (Multiemployer Plan, Plan Information, Available, Domestic, Multiemployer Plans, Pension, USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Multiemployer Plans [Line Items]      
Contributions $ 137,991,000us-gaap_MultiemployerPlanPeriodContributions $ 141,271,000us-gaap_MultiemployerPlanPeriodContributions $ 138,716,000us-gaap_MultiemployerPlanPeriodContributions
Plumbers & Pipefitters National Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 526152779    
Pension Plan Number 001    
PPA Zone Status Yellow Yellow  
FIP/RP Status Implemented    
Contributions 10,425,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersAndPipefittersNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
12,509,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersAndPipefittersNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
10,999,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersAndPipefittersNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Sheet Metal Workers National Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 526112463    
Pension Plan Number 001    
PPA Zone Status Yellow Red  
FIP/RP Status Implemented    
Contributions 9,977,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
9,476,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
9,837,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
National Electrical Benefit Fund
     
Multiemployer Plans [Line Items]      
EIN 530181657    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 7,985,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NationalElectricalBenefitFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
7,986,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NationalElectricalBenefitFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
7,679,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NationalElectricalBenefitFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Central Pension Fund of the International Union of Operating Engineers and Participating Employers
     
Multiemployer Plans [Line Items]      
EIN 366052390    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 6,518,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_CentralPensionFundOfInternationalUnionOfOperatingEngineersAndParticipatingEmployeesMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
6,296,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_CentralPensionFundOfInternationalUnionOfOperatingEngineersAndParticipatingEmployeesMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
6,076,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_CentralPensionFundOfInternationalUnionOfOperatingEngineersAndParticipatingEmployeesMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Pension, Hospitalization & Benefit Plan of the Electrical Industry- Pension Trust Account
     
Multiemployer Plans [Line Items]      
EIN 136123601    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 6,219,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PensionHospitalizationAndBenefitPlanOfElectricalIndustryPensionTrustAccountMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
6,189,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PensionHospitalizationAndBenefitPlanOfElectricalIndustryPensionTrustAccountMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
5,722,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PensionHospitalizationAndBenefitPlanOfElectricalIndustryPensionTrustAccountMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
National Automatic Sprinkler Industry Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 526054620    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Implemented    
Contributions 6,000,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NationalAutomaticSprinklerIndustryPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
4,226,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NationalAutomaticSprinklerIndustryPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
4,952,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NationalAutomaticSprinklerIndustryPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Plumbers Pipefitters & Mechanical Equipment Service Local Union 392 Pension Plan
     
Multiemployer Plans [Line Items]      
EIN 310655223    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Implemented    
Contributions 4,962,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersPipefittersAndMechanicalEquipmentServiceLocalUnion392PensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
4,128,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersPipefittersAndMechanicalEquipmentServiceLocalUnion392PensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,848,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersPipefittersAndMechanicalEquipmentServiceLocalUnion392PensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Electrical Contractors Association of the City of Chicago Local Union 134, IBEW Joint Pension Trust of Chicago Pension Plan 2
     
Multiemployer Plans [Line Items]      
EIN 516030753    
Pension Plan Number 002    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 4,051,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ElectricalContractorsAssociationOfCityOfChicagoLocalUnion134IbewJointPensionTrustOfChicagoPensionPlan2Member
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,412,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ElectricalContractorsAssociationOfCityOfChicagoLocalUnion134IbewJointPensionTrustOfChicagoPensionPlan2Member
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,179,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ElectricalContractorsAssociationOfCityOfChicagoLocalUnion134IbewJointPensionTrustOfChicagoPensionPlan2Member
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
U.A. Local 393 Pension Trust Fund Defined Benefit
     
Multiemployer Plans [Line Items]      
EIN 946359772    
Pension Plan Number 002    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 3,585,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_U.A.Local393PensionTrustFundDefinedBenefitMemberMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,811,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_U.A.Local393PensionTrustFundDefinedBenefitMemberMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,181,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_U.A.Local393PensionTrustFundDefinedBenefitMemberMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Sheet Metal Workers Pension Plan of Northern California
     
Multiemployer Plans [Line Items]      
EIN 516115939    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Implemented    
Contributions 3,467,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersPensionPlanOfNorthernCaliforniaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,658,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersPensionPlanOfNorthernCaliforniaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,881,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersPensionPlanOfNorthernCaliforniaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Northern California Pipe Trades Pension Plan
     
Multiemployer Plans [Line Items]      
EIN 943190386    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 3,270,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NorthernCaliforniaPipeTradesPensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,258,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NorthernCaliforniaPipeTradesPensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,582,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_NorthernCaliforniaPipeTradesPensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Pipefitters Union Local 537 Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 516030859    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 2,981,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PipefittersUnionLocal537PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,690,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PipefittersUnionLocal537PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,747,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PipefittersUnionLocal537PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Electrical Workers Local No. 26 Pension Trust Fund
     
Multiemployer Plans [Line Items]      
EIN 526117919    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 2,880,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ElectricalWorkersLocalNo26PensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,878,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ElectricalWorkersLocalNo26PensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,049,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ElectricalWorkersLocalNo26PensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Southern California Pipe Trades Retirement Fund
     
Multiemployer Plans [Line Items]      
EIN 516108443    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 2,863,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SouthernCaliforniaPipeTradesRetirementFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
5,498,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SouthernCaliforniaPipeTradesRetirementFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,443,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SouthernCaliforniaPipeTradesRetirementFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Southern California IBEW-NECA Pension Trust Fund
     
Multiemployer Plans [Line Items]      
EIN 956392774    
Pension Plan Number 001    
PPA Zone Status Yellow Yellow  
FIP/RP Status Implemented    
Contributions 2,776,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SouthernCaliforniaIbewNecaPensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,215,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SouthernCaliforniaIbewNecaPensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,266,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SouthernCaliforniaIbewNecaPensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Eighth District Electrical Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 846100393    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 2,695,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_EighthDistrictElectricalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,005,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_EighthDistrictElectricalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
3,890,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_EighthDistrictElectricalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Arizona Pipe Trades Pension Plan
     
Multiemployer Plans [Line Items]      
EIN 866025734    
Pension Plan Number 001    
PPA Zone Status Green Green  
FIP/RP Status NA    
Contributions 2,098,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ArizonaPipeTradesPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
4,108,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ArizonaPipeTradesPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
6,871,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_ArizonaPipeTradesPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Heating, Piping & Refrigeration Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 521058013    
Pension Plan Number 001    
PPA Zone Status Yellow Yellow  
FIP/RP Status Implemented    
Contributions 1,877,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_HeatingPipingAndRefrigerationPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,139,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_HeatingPipingAndRefrigerationPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,078,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_HeatingPipingAndRefrigerationPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Sheet Metal Workers Pension Plan of Southern California, Arizona & Nevada
     
Multiemployer Plans [Line Items]      
EIN 956052257    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Implemented    
Contributions 1,824,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersPensionPlanOfSouthernCaliforniaArizonaAndNevadaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,271,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersPensionPlanOfSouthernCaliforniaArizonaAndNevadaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,072,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SheetMetalWorkersPensionPlanOfSouthernCaliforniaArizonaAndNevadaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
U.A. Local 38 Defined Benefit Pension Plan
     
Multiemployer Plans [Line Items]      
EIN 943042549    
Pension Plan Number 001    
PPA Zone Status Yellow Yellow  
FIP/RP Status Implemented    
Contributions 1,605,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_U.A.Local38DefinedBenefitPensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,522,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_U.A.Local38DefinedBenefitPensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
927,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_U.A.Local38DefinedBenefitPensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Local No. 697 IBEW and Electrical Industry Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 516133048    
Pension Plan Number 001    
PPA Zone Status Yellow Yellow  
FIP/RP Status Implemented    
Contributions 1,499,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_LocalNo697IbewAndElectricalIndustryPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,443,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_LocalNo697IbewAndElectricalIndustryPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,757,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_LocalNo697IbewAndElectricalIndustryPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Boilermaker-Blacksmith National Pension Trust
     
Multiemployer Plans [Line Items]      
EIN 486168020    
Pension Plan Number 001    
PPA Zone Status Yellow Yellow  
FIP/RP Status Implemented    
Contributions 1,177,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_BoilermakerBlacksmithNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,828,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_BoilermakerBlacksmithNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
2,996,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_BoilermakerBlacksmithNationalPensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Plumbing & Pipe Fitting Local 219 Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 346682376    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Implemented    
Contributions 1,107,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbingPipeFittingLocal219PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,142,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbingPipeFittingLocal219PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
936,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbingPipeFittingLocal219PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Building Trades United Pension Trust Fund
     
Multiemployer Plans [Line Items]      
EIN 516049409    
Pension Plan Number 001    
PPA Zone Status Yellow Yellow  
FIP/RP Status Implemented    
Contributions 1,033,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_BuildingTradesUnitedPensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
918,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_BuildingTradesUnitedPensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,019,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_BuildingTradesUnitedPensionTrustFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Steamfitters Local Union No. 420 Pension Plan
     
Multiemployer Plans [Line Items]      
EIN 232004424    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Implemented    
Contributions 862,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SteamfittersLocalUnionNo420PensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
831,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SteamfittersLocalUnionNo420PensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
1,557,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_SteamfittersLocalUnionNo420PensionPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Plumbers & Pipefitters Local 162 Pension Fund
     
Multiemployer Plans [Line Items]      
EIN 316125999    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Implemented [1]    
Contributions 818,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersPipefittersLocal162PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
770,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersPipefittersLocal162PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
737,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_PlumbersPipefittersLocal162PensionFundMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Local 73 Retirement Plan
     
Multiemployer Plans [Line Items]      
EIN 156016577    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Implemented [1]    
Contributions 805,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_Local73RetirementPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
225,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_Local73RetirementPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
0us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_Local73RetirementPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
U.A. Local 467 Defined Benefit Plan
     
Multiemployer Plans [Line Items]      
EIN 942353807    
Pension Plan Number 005    
PPA Zone Status Red Red  
FIP/RP Status Implemented    
Contributions 787,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_UALocal467DefinedBenefitPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
538,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_UALocal467DefinedBenefitPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
534,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_UALocal467DefinedBenefitPlanMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Carpenters Pension Trust Fund for Northern California
     
Multiemployer Plans [Line Items]      
EIN 946050970    
Pension Plan Number 001    
PPA Zone Status Red Red  
FIP/RP Status Pending    
Contributions 522,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_CarpentersPensionTrustFundforNorthernCaliforniaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
452,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_CarpentersPensionTrustFundforNorthernCaliforniaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
539,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_CarpentersPensionTrustFundforNorthernCaliforniaMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
Other Multiemployer Pension Plans
     
Multiemployer Plans [Line Items]      
Contributions $ 41,323,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_OtherMultiemployerPensionPlansMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
$ 43,849,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_OtherMultiemployerPensionPlansMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
$ 40,362,000us-gaap_MultiemployerPlanPeriodContributions
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
/ us-gaap_MultiemployerPlanNameAxis
= eme_OtherMultiemployerPensionPlansMember
/ us-gaap_MultiemployerPlanPlanInformationAxis
= us-gaap_MultiemployerPlanPlanInformationAvailableMember
/ us-gaap_MultiemployerPlanTypeAxis
= us-gaap_MultiemployerPlansPensionMember
[1] For these respective plans, a funding surcharge was currently in effect for 2014.