XML 78 R91.htm IDEA: XBRL DOCUMENT v2.4.1.9
Segment Information (Information About Industry Segments And Geographic Areas) (Details) (USD $)
3 Months Ended 12 Months Ended
Dec. 31, 2014
Sep. 30, 2014
Jun. 30, 2014
Mar. 31, 2014
Dec. 31, 2013
Sep. 30, 2013
Jun. 30, 2013
Mar. 31, 2013
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Segment Reporting Information [Line Items]                      
Revenues from unrelated entities $ 1,714,796,000us-gaap_SalesRevenueNet $ 1,566,711,000us-gaap_SalesRevenueNet $ 1,552,919,000us-gaap_SalesRevenueNet $ 1,590,539,000us-gaap_SalesRevenueNet $ 1,649,279,000us-gaap_SalesRevenueNet $ 1,605,315,000us-gaap_SalesRevenueNet $ 1,532,628,000us-gaap_SalesRevenueNet $ 1,546,305,000us-gaap_SalesRevenueNet $ 6,424,965,000us-gaap_SalesRevenueNet $ 6,333,527,000us-gaap_SalesRevenueNet $ 6,195,494,000us-gaap_SalesRevenueNet
Total revenues                 6,424,965,000us-gaap_Revenues 6,333,527,000us-gaap_Revenues 6,195,494,000us-gaap_Revenues
Operating income (loss)                 289,878,000us-gaap_OperatingIncomeLoss 240,350,000us-gaap_OperatingIncomeLoss 260,303,000us-gaap_OperatingIncomeLoss
Restructuring expenses                 (1,168,000)us-gaap_RestructuringCharges (647,000)us-gaap_RestructuringCharges (145,000)us-gaap_RestructuringCharges
Impairment loss on identifiable intangible assets 1,471,000us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 1,471,000us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill 0us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill
Gain on sale of building 0eme_GainOnSaleOfBuilding 11,749,000eme_GainOnSaleOfBuilding 0eme_GainOnSaleOfBuilding 0eme_GainOnSaleOfBuilding 0eme_GainOnSaleOfBuilding 0eme_GainOnSaleOfBuilding 0eme_GainOnSaleOfBuilding 0eme_GainOnSaleOfBuilding 11,749,000eme_GainOnSaleOfBuilding 0eme_GainOnSaleOfBuilding 0eme_GainOnSaleOfBuilding
Interest expense                 (9,075,000)us-gaap_InterestExpense (8,769,000)us-gaap_InterestExpense (7,275,000)us-gaap_InterestExpense
Interest income                 842,000us-gaap_InvestmentIncomeInterest 1,128,000us-gaap_InvestmentIncomeInterest 1,556,000us-gaap_InvestmentIncomeInterest
Income from continuing operations before income taxes                 281,645,000us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments 232,709,000us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments 254,584,000us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
Capital expenditures                 38,035,000us-gaap_PaymentsToAcquireProductiveAssets 35,497,000us-gaap_PaymentsToAcquireProductiveAssets 37,875,000us-gaap_PaymentsToAcquireProductiveAssets
Depreciation and amortization of Property, plant and equipment                 36,524,000us-gaap_DepreciationDepletionAndAmortization 36,310,000us-gaap_DepreciationDepletionAndAmortization 31,204,000us-gaap_DepreciationDepletionAndAmortization
Costs and estimated earnings in excess of billings on uncompleted contracts 103,201,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms       90,727,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms       103,201,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms 90,727,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms 93,061,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
Billings in excess of costs and estimated earnings on uncompleted contracts 368,555,000us-gaap_BillingsInExcessOfCost       381,295,000us-gaap_BillingsInExcessOfCost       368,555,000us-gaap_BillingsInExcessOfCost 381,295,000us-gaap_BillingsInExcessOfCost 383,527,000us-gaap_BillingsInExcessOfCost
Long-lived assets 1,458,340,000us-gaap_NoncurrentAssets       1,499,736,000us-gaap_NoncurrentAssets       1,458,340,000us-gaap_NoncurrentAssets 1,499,736,000us-gaap_NoncurrentAssets 1,026,968,000us-gaap_NoncurrentAssets
Total assets 3,388,967,000us-gaap_Assets       3,465,915,000us-gaap_Assets       3,388,967,000us-gaap_Assets 3,465,915,000us-gaap_Assets 3,107,070,000us-gaap_Assets
Income from reduction in estimate of certain accrued contract costs                 4,800,000eme_IncomeFromReductionInEstimateOfCertainAccruedContractCosts    
Insurance recoveries                   2,600,000us-gaap_InsuranceRecoveries  
UNITED STATES                      
Segment Reporting Information [Line Items]                      
Revenues from unrelated entities                 6,074,521,000us-gaap_SalesRevenueNet
/ us-gaap_StatementGeographicalAxis
= country_US
5,989,975,000us-gaap_SalesRevenueNet
/ us-gaap_StatementGeographicalAxis
= country_US
5,807,900,000us-gaap_SalesRevenueNet
/ us-gaap_StatementGeographicalAxis
= country_US
Total revenues                 6,074,521,000us-gaap_Revenues
/ us-gaap_StatementGeographicalAxis
= country_US
5,989,975,000us-gaap_Revenues
/ us-gaap_StatementGeographicalAxis
= country_US
5,807,900,000us-gaap_Revenues
/ us-gaap_StatementGeographicalAxis
= country_US
Operating income (loss)                 334,335,000us-gaap_OperatingIncomeLoss
/ us-gaap_StatementGeographicalAxis
= country_US
297,867,000us-gaap_OperatingIncomeLoss
/ us-gaap_StatementGeographicalAxis
= country_US
306,528,000us-gaap_OperatingIncomeLoss
/ us-gaap_StatementGeographicalAxis
= country_US
Capital expenditures                 35,030,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_StatementGeographicalAxis
= country_US
32,890,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_StatementGeographicalAxis
= country_US
33,602,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_StatementGeographicalAxis
= country_US
Depreciation and amortization of Property, plant and equipment                 32,336,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementGeographicalAxis
= country_US
30,989,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementGeographicalAxis
= country_US
27,838,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementGeographicalAxis
= country_US
Costs and estimated earnings in excess of billings on uncompleted contracts 94,743,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_StatementGeographicalAxis
= country_US
      82,754,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_StatementGeographicalAxis
= country_US
      94,743,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_StatementGeographicalAxis
= country_US
82,754,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_StatementGeographicalAxis
= country_US
77,819,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_StatementGeographicalAxis
= country_US
Billings in excess of costs and estimated earnings on uncompleted contracts 353,980,000us-gaap_BillingsInExcessOfCost
/ us-gaap_StatementGeographicalAxis
= country_US
      356,064,000us-gaap_BillingsInExcessOfCost
/ us-gaap_StatementGeographicalAxis
= country_US
      353,980,000us-gaap_BillingsInExcessOfCost
/ us-gaap_StatementGeographicalAxis
= country_US
356,064,000us-gaap_BillingsInExcessOfCost
/ us-gaap_StatementGeographicalAxis
= country_US
346,084,000us-gaap_BillingsInExcessOfCost
/ us-gaap_StatementGeographicalAxis
= country_US
Long-lived assets 1,449,418,000us-gaap_NoncurrentAssets
/ us-gaap_StatementGeographicalAxis
= country_US
      1,489,009,000us-gaap_NoncurrentAssets
/ us-gaap_StatementGeographicalAxis
= country_US
      1,449,418,000us-gaap_NoncurrentAssets
/ us-gaap_StatementGeographicalAxis
= country_US
1,489,009,000us-gaap_NoncurrentAssets
/ us-gaap_StatementGeographicalAxis
= country_US
1,013,947,000us-gaap_NoncurrentAssets
/ us-gaap_StatementGeographicalAxis
= country_US
Total assets 2,816,306,000us-gaap_Assets
/ us-gaap_StatementGeographicalAxis
= country_US
      2,822,699,000us-gaap_Assets
/ us-gaap_StatementGeographicalAxis
= country_US
      2,816,306,000us-gaap_Assets
/ us-gaap_StatementGeographicalAxis
= country_US
2,822,699,000us-gaap_Assets
/ us-gaap_StatementGeographicalAxis
= country_US
2,269,571,000us-gaap_Assets
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | United States electrical construction and facilities services segment                      
Segment Reporting Information [Line Items]                      
Revenues from unrelated entities                 1,311,988,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,345,750,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,211,692,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | United States Mechanical Construction And Facilities Services                      
Segment Reporting Information [Line Items]                      
Revenues from unrelated entities                 2,201,212,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
2,329,834,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
2,386,498,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | United States Building Services                      
Segment Reporting Information [Line Items]                      
Revenues from unrelated entities                 1,721,341,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,794,978,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,807,917,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED STATES | United States Industrial Services                      
Segment Reporting Information [Line Items]                      
Revenues from unrelated entities                 839,980,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
519,413,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
401,793,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
UNITED KINGDOM | United Kingdom Building Services                      
Segment Reporting Information [Line Items]                      
Revenues from unrelated entities                 350,444,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
343,552,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
387,594,000us-gaap_SalesRevenueNet
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Operating Segments [Member] | UNITED STATES | United States electrical construction and facilities services segment                      
Segment Reporting Information [Line Items]                      
Total revenues                 1,326,547,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,371,979,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,233,468,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Operating income (loss)                 90,873,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
98,114,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
100,736,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Restructuring expenses                 (638,000)us-gaap_RestructuringCharges
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
0us-gaap_RestructuringCharges
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Capital expenditures                 6,671,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
6,164,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
3,273,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Depreciation and amortization of Property, plant and equipment                 4,237,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
3,640,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
3,926,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Costs and estimated earnings in excess of billings on uncompleted contracts 32,464,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      28,988,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      32,464,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
28,988,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
28,207,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Billings in excess of costs and estimated earnings on uncompleted contracts 114,422,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      118,458,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      114,422,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
118,458,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
89,889,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Long-lived assets 18,792,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      16,512,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      18,792,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
16,512,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
14,146,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Total assets 332,150,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      329,742,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      332,150,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
329,742,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
283,997,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Operating Segments [Member] | UNITED STATES | United States Mechanical Construction And Facilities Services                      
Segment Reporting Information [Line Items]                      
Total revenues                 2,219,886,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
2,387,072,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
2,414,296,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Operating income (loss)                 114,418,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
93,765,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
125,261,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Restructuring expenses                 (230,000)us-gaap_RestructuringCharges
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
(479,000)us-gaap_RestructuringCharges
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Capital expenditures                 8,631,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
8,866,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
8,119,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Depreciation and amortization of Property, plant and equipment                 7,600,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
7,280,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
6,768,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Costs and estimated earnings in excess of billings on uncompleted contracts 43,443,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      38,804,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      43,443,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
38,804,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
34,084,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Billings in excess of costs and estimated earnings on uncompleted contracts 199,983,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      205,974,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      199,983,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
205,974,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
219,876,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Long-lived assets 288,161,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      293,790,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      288,161,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
293,790,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
269,990,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Total assets 793,056,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      795,256,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      793,056,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
795,256,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
785,286,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Operating Segments [Member] | UNITED STATES | United States Building Services                      
Segment Reporting Information [Line Items]                      
Total revenues                 1,762,697,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,839,129,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
1,837,995,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Operating income (loss)                 65,885,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
67,225,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
43,290,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Restructuring expenses                 0us-gaap_RestructuringCharges
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
(168,000)us-gaap_RestructuringCharges
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
 
Capital expenditures                 10,589,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
7,579,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
11,086,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Depreciation and amortization of Property, plant and equipment                 10,660,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
11,288,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
10,584,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Costs and estimated earnings in excess of billings on uncompleted contracts 18,555,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      14,957,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      18,555,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
14,957,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
15,528,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Billings in excess of costs and estimated earnings on uncompleted contracts 38,059,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      30,827,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      38,059,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
30,827,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
36,319,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Long-lived assets 392,364,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      406,498,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      392,364,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
406,498,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
449,641,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Total assets 737,082,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      756,785,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      737,082,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
756,785,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
800,081,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesBuildingServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Operating Segments [Member] | UNITED STATES | United States Industrial Services                      
Segment Reporting Information [Line Items]                      
Total revenues                 842,040,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
522,417,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
405,002,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Operating income (loss)                 63,159,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
38,763,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
37,241,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Capital expenditures                 9,139,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
10,281,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
11,124,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Depreciation and amortization of Property, plant and equipment                 9,839,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
8,781,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
6,560,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Costs and estimated earnings in excess of billings on uncompleted contracts 281,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      5,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      281,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
5,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
0us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Billings in excess of costs and estimated earnings on uncompleted contracts 1,516,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      805,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      1,516,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
805,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
0us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Long-lived assets 750,101,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      772,209,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      750,101,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
772,209,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
280,170,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Total assets 954,018,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      940,916,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
      954,018,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
940,916,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
400,207,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedStatesIndustrialServicesMember
/ us-gaap_StatementGeographicalAxis
= country_US
Operating Segments [Member] | UNITED KINGDOM | United Kingdom Building Services                      
Segment Reporting Information [Line Items]                      
Total revenues                 350,444,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
343,552,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
387,594,000us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Operating income (loss)                 15,011,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
13,021,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
17,388,000us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Capital expenditures                 1,935,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
1,536,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
3,604,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Depreciation and amortization of Property, plant and equipment                 3,305,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
4,477,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
2,594,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Costs and estimated earnings in excess of billings on uncompleted contracts 8,458,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
      7,973,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
      8,458,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
7,973,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
15,242,000us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrPrograms
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Billings in excess of costs and estimated earnings on uncompleted contracts 14,575,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
      25,231,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
      14,575,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
25,231,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
37,443,000us-gaap_BillingsInExcessOfCost
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Long-lived assets 6,899,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
      8,831,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
      6,899,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
8,831,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
11,502,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Total assets 130,340,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
      160,828,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
      130,340,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
160,828,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
214,455,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= eme_UnitedKingdomBuildingServicesMemberMember
/ us-gaap_StatementGeographicalAxis
= country_GB
Corporate, Non-Segment [Member]                      
Segment Reporting Information [Line Items]                      
Operating income (loss)                 (68,578,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
(69,891,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
(63,468,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
Restructuring expenses                 (300,000)us-gaap_RestructuringCharges
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
0us-gaap_RestructuringCharges
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
 
Capital expenditures                 1,070,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
1,071,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
669,000us-gaap_PaymentsToAcquireProductiveAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
Depreciation and amortization of Property, plant and equipment                 883,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
844,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
772,000us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
Long-lived assets 2,023,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
      1,896,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
      2,023,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
1,896,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
1,519,000us-gaap_NoncurrentAssets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
Total assets 442,321,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
      482,388,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
      442,321,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
482,388,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
623,044,000us-gaap_Assets
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
Intersegment Eliminations [Member]                      
Segment Reporting Information [Line Items]                      
Total revenues                 $ (76,649,000)us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
$ (130,622,000)us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember
$ (82,861,000)us-gaap_Revenues
/ us-gaap_ConsolidationItemsAxis
= us-gaap_IntersegmentEliminationMember