XML 106 R90.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Commitments and Contingencies - Narrative (Details) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2023 USD ($) employee collective_bargaining_agreement
Loss Contingencies [Line Items] |
Number of collective bargaining agreements that are national or regional in scope | collective_bargaining_agreement | 2
Minimum |
Loss Contingencies [Line Items] |
Number of employees | employee | 38,300
Number of collective bargaining agreements between our individual subsidiaries and local unions | collective_bargaining_agreement | 450
Surety Bond [Member] |
Loss Contingencies [Line Items] |
Estimated exposure, contracts with surety bonds | $ | $ 2,200.0
Estimated exposure, contracts with surety bonds, RPO percentage | 25.00%
Surety bonds for insurance | $ | $ 48.1
Unionized Employees Concentration Risk [Member] | Workforce Subject to Collective Bargaining Arrangements [Member] |
Loss Contingencies [Line Items] |
Percentage of employees represented by unions | 60.00%

X
- Definition Number of persons employed by the Entity + References No definition available. + Details
Name: | dei_EntityNumberOfEmployees
Namespace Prefix: | dei_
Data Type: | xbrli:decimalItemType
Balance Type: | na
Period Type: | instant

X
- Definition Aggregate estimated exposure, assuming defaults on all our then existing contracts covered by surety bonds. + References No definition available. + Details
Name: | eme_AggregateEstimatedExposureContractsWithSuretyBonds
Namespace Prefix: | eme_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Aggregate estimated exposure on contracts covered by surety bonds as a percentage of remaining performance obligations. + References No definition available. + Details
Name: | eme_AggregateEstimatedExposureRPO1
Namespace Prefix: | eme_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of collective bargaining agreements between our individual subsidiaries and local unions. + References No definition available. + Details
Name: | eme_CollectiveBargainingAgreementsIndividualSubsidiariesAndLocalUnionsNumber
Namespace Prefix: | eme_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Collective Bargaining Agreements, National or Regional, Number + References No definition available. + Details
Name: | eme_CollectiveBargainingAgreementsNationalOrRegionalNumber
Namespace Prefix: | eme_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of surety bonds utilized as collateral for insurance obligations. + References No definition available. + Details
Name: | eme_SuretyBondsForInsurance
Namespace Prefix: | eme_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 42 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 21 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 20 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 18 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 20 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20 + Details
Name: | us-gaap_ConcentrationRiskPercentage1
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 460 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482425/460-10-50-3 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 450 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 450 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 450 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4 Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 450 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 450 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9 + Details
Name: | us-gaap_LossContingenciesLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_SuretyBondMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_UnionizedEmployeesConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_WorkforceSubjectToCollectiveBargainingArrangementsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |