XML 49 R37.htm IDEA: XBRL DOCUMENT
v3.24.1.u1

Revenue from Contracts with Customers (Details) - USD ($) | 3 Months Ended | 12 Months Ended
--- | --- | ---
Mar. 31, 2024 | Mar. 31, 2023 | Dec. 31, 2023
Revenue From Contract With Customers [Line Items] |  |  |
Performance obligation satisfied in previous period | $ 9,000,000 | $ 0 |
Allowance for credit losses | 31,364,000 |  | $ 22,502,000
Increase in net contract liabilities | 56,300,000 |  |
Contract asset impairment | 0 |  | $ 0
Remaining performance obligations | 9,175,352,000 |  |
Minimum [Member] |  |  |
Revenue From Contract With Customers [Line Items] |  |  |
Change in total estimated cost or anticipated contract value | 1,000,000 |  |
Performance obligation satisfied in previous period | 1,000,000 |  |
United States Electrical Construction And Facilities Services [Member] |  |  |
Revenue From Contract With Customers [Line Items] |  |  |
Performance obligation satisfied in previous period | 6,600,000 |  |
United States Mechanical Construction And Facilities Services [Member] |  |  |
Revenue From Contract With Customers [Line Items] |  |  |
Performance obligation satisfied in previous period | $ 2,400,000 |  |

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 Amount of increase in net contract liabilities. + References No definition available. + Details
Name: | eme_ContractwithCustomerNetLiabilitiesIncrease
Namespace Prefix: | eme_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition RevenueFromContractWithCustomersLineItems + References No definition available. + Details
Name: | eme_RevenueFromContractWithCustomersLineItemsLineItems
Namespace Prefix: | eme_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of allowance for credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 944 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(5)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(4)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of expense (reversal of expense) for expected credit loss on right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4 + Details
Name: | us-gaap_ContractWithCustomerAssetCreditLossExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
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
- 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
- Details
Name: | srt_RangeAxis=srt_MinimumMember
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: |