XML 73 R57.htm IDEA: XBRL DOCUMENT
v3.20.4

Revenue from Contracts with Customers - Schedule of Revenue, Remaining Performance Obligation (Details) $ in Thousands | Dec. 31, 2020 USD ($)
--- | ---
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 4,594,620
Remaining performance obligations, percent | 100.00%
UNITED STATES |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 4,463,947
Remaining performance obligations, percent | 97.00%
UNITED STATES | United States Electrical Construction And Facilities Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 1,087,238
Remaining performance obligations, percent | 24.00%
UNITED STATES | United States Mechanical Construction And Facilities Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 2,673,293
Remaining performance obligations, percent | 58.00%
UNITED STATES | United States Building Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 612,179
Remaining performance obligations, percent | 13.00%
UNITED STATES | United States Industrial Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 91,237
Remaining performance obligations, percent | 2.00%
UNITED KINGDOM | United Kingdom Building Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 130,673
Remaining performance obligations, percent | 3.00%

X
- Definition [Line Items] for Schedule of Remaining Performance Obligations [Table] + References No definition available. + Details
Name: | eme_ScheduleofRemainingPerformanceObligationsLineItems
Namespace Prefix: | eme_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (b)(1) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationPercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | srt_StatementGeographicalAxis=country_US
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=eme_UnitedStatesElectricalConstructionAndFacilitiesServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=eme_UnitedStatesMechanicalConstructionAndFacilitiesServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=eme_UnitedStatesBuildingServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=eme_UnitedStatesIndustrialServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_StatementGeographicalAxis=country_GB
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=eme_UnitedKingdomBuildingServicesMemberMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |