XML 72 R56.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Revenue from Contracts with Customers - Schedule of Revenue, Remaining Performance Obligation (Details) $ in Thousands | Dec. 31, 2023 USD ($)
--- | ---
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 8,847,421
Remaining performance obligations, percent | 100.00%
UNITED STATES |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 8,706,472
Remaining performance obligations, percent | 98.00%
UNITED STATES | United States Electrical Construction And Facilities Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 2,387,844
Remaining performance obligations, percent | 27.00%
UNITED STATES | United States Mechanical Construction And Facilities Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 4,940,519
Remaining performance obligations, percent | 56.00%
UNITED STATES | United States Building Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 1,264,818
Remaining performance obligations, percent | 14.00%
UNITED STATES | United States Industrial Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 113,291
Remaining performance obligations, percent | 1.00%
UNITED KINGDOM | United Kingdom Building Services |
Schedule of Remaining Performance Obligations [Line Items] |
Remaining performance obligations | $ 140,949
Remaining performance obligations, percent | 2.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 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13 + 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 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(1) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types: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: |