XML 68 R53.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Revenue from Contracts with Customers - Schedule of Performance Obligation Satisfied in Previous Period (Details) - USD ($) | 12 Months Ended
--- | ---
Dec. 31, 2024 | Dec. 31, 2023 | Dec. 31, 2022
UNITED STATES |  |  |
Performance Obligation Satisfied in Previous Period [Line Items] |  |  |
Performance obligation satisfied in previous period | $ 24,557,000 | $ 16,464,000 | $ 0
UNITED STATES | United States Electrical Construction And Facilities Services |  |  |
Performance Obligation Satisfied in Previous Period [Line Items] |  |  |
Performance obligation satisfied in previous period | 14,006,000 | 3,350,000 |
UNITED STATES | United States Mechanical Construction And Facilities Services |  |  |
Performance Obligation Satisfied in Previous Period [Line Items] |  |  |
Performance obligation satisfied in previous period | 10,551,000 | $ 13,114,000 |
Minimum |  |  |
Performance Obligation Satisfied in Previous Period [Line Items] |  |  |
Performance obligation satisfied in previous period | $ 1,000,000 |  |

X
- Definition Performance Obligation Satisfied in Previous Period [Line Items] + References No definition available. + Details
Name: | eme_PerformanceObligationSatisfiedInPreviousPeriodLineItems
Namespace Prefix: | eme_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12A -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12A + Details
Name: | us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

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: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |