XML 50 R39.htm IDEA: XBRL DOCUMENT
v3.23.3

Revenue from Contracts with Customers - Schedule of Cumulative Catch-Up Adjustment (Details) - UNITED STATES - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended
--- | --- | ---
Sep. 30, 2023 | Sep. 30, 2022 | Sep. 30, 2023 | Sep. 30, 2022
Cumulative Catch-Up Adjustment [Line Items] |  |  |  |
Change in total estimated cost or anticipated contract value | $ 10,568 | $ 11,822 | $ 28,612 | $ 34,903
United States Electrical Construction And Facilities Services [Member] |  |  |  |
Cumulative Catch-Up Adjustment [Line Items] |  |  |  |
Change in total estimated cost or anticipated contract value | 2,635 | 10,549 | 12,219 | 26,460
United States Mechanical Construction And Facilities Services [Member] |  |  |  |
Cumulative Catch-Up Adjustment [Line Items] |  |  |  |
Change in total estimated cost or anticipated contract value | 7,933 | 1,273 | 13,416 | 8,443
United States Building Services [Member] |  |  |  |
Cumulative Catch-Up Adjustment [Line Items] |  |  |  |
Change in total estimated cost or anticipated contract value | $ 0 | $ 0 | $ 2,977 | $ 0

X
- Definition Reduction in profit recognized for cumulative catch-up adjustment from change in measure of progress. + References No definition available. + Details
Name: | eme_ContractWithCustomerCumulativeCatchUpAdjustmentChangeInMeasureOfProgress
Namespace Prefix: | eme_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Cumulative Catch-Up Adjustment [Line Items] + References No definition available. + Details
Name: | eme_CumulativeCatchUpAdjustmentLineItems
Namespace Prefix: | eme_
Data Type: | xbrli:stringItemType
Balance Type: | na
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: | us-gaap_StatementBusinessSegmentsAxis=eme_UnitedStatesBuildingServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |