XML 107 R91.htm IDEA: XBRL DOCUMENT
v3.19.3.a.u2

Defined Contribution Plans - Narrative (Details) - USD ($) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2017
UNITED STATES |  |  |
Defined Contribution Plan Disclosure [Line Items] |  |  |
Expense recognized | $ 32.4 | $ 29.8 | $ 28.1
Supplemental matching | 6.8 | 6.1 | 5.5
United Kingdom Subsidiary | UK Plan |  |  |
Defined Contribution Plan Disclosure [Line Items] |  |  |
Expense recognized | $ 6.1 | $ 4.9 | $ 3.9

X
- Definition Amount of cost for defined contribution plan. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 70 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942 + Details
Name: | us-gaap_DefinedContributionPlanCostRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
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 No definition available. + Details
Name: | us-gaap_DefinedContributionPlanDisclosureLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of discretionary contributions made by an employer to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_RetirementPlanSponsorLocationAxis=country_US
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | dei_LegalEntityAxis=eme_UnitedKingdomSubsidiaryMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |