XML 105 R89.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Retirement Plans - Schedule of Multiemployer Plans (Details) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 11-2125338 |  |
Expense recognized |  | $ 36,700 | $ 35,000 | $ 33,000
Multiemployer Plans, Pension |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
Contributions |  | $ 258,829 | $ 236,165 | 221,081
Multiemployer Plans, Pension | National Automatic Sprinkler Industry Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 52-6054620 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 25,559 | $ 21,583 | 20,987
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | National Electrical Benefit Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 53-0181657 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 18,128 | $ 15,192 | 12,310
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | United Association National Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 52-6152779 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 16,815 | $ 15,288 | 14,723
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Sheet Metal Workers National Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 52-6112463 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 10,797 | $ 9,505 | 10,307
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Central Pension Fund of the IUOE & Participating Employers |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 36-6052390 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 8,573 | $ 7,651 | 6,627
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Electrical Workers Local No. 26 Pension Trust Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 52-6117919 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 8,283 | $ 7,844 | 9,346
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Pension, Hospitalization & Benefit Plan of the Electrical Industry-Pension Trust Account |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 13-6123601 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 7,198 | $ 8,122 | 7,355
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Plumbers Pipefitters & Mechanical Equipment Service Local Union 392 Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 31-0655223 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Red | Red |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 7,010 | $ 7,674 | 7,110
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Electrical Workers Pension Plan Local 103 IBEW |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 04-6063734 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 6,537 | $ 2,900 | 0
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Northern California Pipe Trades Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 94-3190386 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 6,317 | $ 3,238 | 2,663
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Edison Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 93-6061681 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 5,840 | $ 5,325 | 4,229
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Sheet Metal Workers Pension Plan of Northern California |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 51-6115939 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Red | Red |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 5,738 | $ 6,074 | 7,850
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | San Diego Electrical Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 95-6101801 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 5,511 | $ 4,258 | 4,068
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Heating, Piping & Refrigeration Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 52-1058013 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 5,315 | $ 4,625 | 5,591
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Pipefitters Union Local 537 Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 51-6030859 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 5,179 | $ 5,039 | 5,922
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Southern California Pipe Trades Retirement Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 51-6108443 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 4,657 | $ 4,650 | 6,272
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Electrical Contractors Association of the City of Chicago Local Union 134, IBEW Joint Pension Trust of Chicago Pension Plan 2 |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 51-6030753 |  |
Pension Plan Number |  | 002 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 4,432 | $ 3,516 | 4,225
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | IBEW Local 701 Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 36-6455509 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 3,989 | $ 2,625 | 1,276
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Eighth District Electrical Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 84-6100393 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 3,844 | $ 3,339 | 3,298
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Southern California IBEW-NECA Pension Trust Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 95-6392774 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Yellow | Yellow |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 3,801 | $ 4,287 | 4,876
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | IBEW Local No. 82 Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 31-6127268 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 3,701 | $ 2,549 | 956
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Sheet Metal Workers Pension Plan of Southern California, Arizona & Nevada |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 95-6052257 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 3,399 | $ 2,921 | 3,322
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Kern County Electrical Workers Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 95-6123049 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 3,299 | $ 1,542 | 1,167
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | U.A. Local 393 Pension Trust Fund Defined Benefit |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 94-6359772 |  |
Pension Plan Number |  | 002 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 3,263 | $ 3,517 | 3,507
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Arizona Pipe Trades Pension Trust Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 86-6025734 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 3,048 | $ 2,940 | 2,020
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Joint Pension Fund of Local Union No. 102 |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 22-1615726 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,868 | $ 1,762 | 1,531
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Plumbers & Steamfitters Local 486 Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 52-6124449 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,828 | $ 1,599 | 1,351
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Plumbers & Pipefitters Local No. 189 Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 31-0894807 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,557 | $ 1,272 | 596
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Local No. 697 IBEW and Electrical Industry Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 51-6133048 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,528 | $ 2,287 | 1,753
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | U.A. Plumbers Local 24 Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 22-6042823 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,295 | $ 1,819 | 2,270
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | NECA-IBEW Pension Trust Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 51-6029903 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,228 | $ 3,034 | 2,491
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | IBEW 332 Pension Fund - Part A |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 94-2688032 |  |
Pension Plan Number |  | 004 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,062 | $ 4,177 | 2,339
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Plumbers & Pipefitters Local 162 Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 31-6125999 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Yellow | Yellow |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 1,243 | $ 1,132 | 1,034
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Steamfitters Local Union No. 420 Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 23-2004424 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Red | Red |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 1,227 | $ 1,018 | 677
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Boilermaker-Blacksmith National Pension Trust |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 48-6168020 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Red | Green |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 1,140 | $ 6,434 | 3,479
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Plumbing & Pipe Fitting Local 219 Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 34-6682376 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Red | Red |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 919 | $ 1,172 | 1,167
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Carpenters Pension Trust Fund for Northern California |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 94-6050970 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Red | Red |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 610 | $ 532 | 568
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Other Multiemployer Pension Plans |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
Contributions |  | $ 56,091 | $ 53,723 | $ 51,818
[1] | The zone status represents the most recent available information for the respective MEPP, which may be from 2022 or earlier for the 2023 year and from 2021 or earlier for the 2022 year. In general, plans with a “green” zone status have a funding ratio of at least 80%, plans with an “orange” or “yellow” zone status have a funding ratio of between 65% and less than 80%, and plans with a “red” zone status are less than 65% funded or are projected to have a funding deficiency in any of the next ten years.
[2] | This information was obtained from the respective plan’s Form 5500 (“Forms”) for the most current available filing. These dates may not correspond with our fiscal year contributions. The percentages of contributions are based upon disclosures contained in the plans’ Forms. Those Forms, among other things, disclose the names of individual participating employers whose annual contributions account for more than 5% of the aggregate annual amount contributed by all participating employers for a plan year. Accordingly, if the annual contribution of two or more of our subsidiaries each accounted for less than 5% of such contributions, but in the aggregate accounted for in excess of 5% of such contributions, that greater percentage is not available and therefore is not disclosed.

X
- Definition The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Exchange Act -Number 240 -Section 12 -Subsection b-2 + Details
Name: | dei_EntityTaxIdentificationNumber
Namespace Prefix: | dei_
Data Type: | dei:employerIdItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost for defined contribution plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 70 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1 + Details
Name: | us-gaap_DefinedContributionPlanCostRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of cost for employer contribution to multiemployer plan. Multiemployer plan includes, but is not limited to, pension plan determined to be individually significant and insignificant and other postretirement benefit plan. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 35 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480606/715-80-35-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-11 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-9 + Details
Name: | us-gaap_MultiemployerPlanEmployerContributionCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Indicates certified zone status of multiemployer pension plan determined to be individually significant. Acceptable values are "Green", "Yellow", "Orange", "Red", "Other", and "NA". + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlanPensionSignificantCertifiedZoneStatusFixedList
Namespace Prefix: | us-gaap_
Data Type: | us-types:zoneStatusItemType
Balance Type: | na
Period Type: | duration

X
- Definition Indicates (true false) whether, in plan's most recently available annual report, employer contribution exceeds 5 percent of total contribution from all participating employers to multiemployer pension plan determined to be individually significant. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (e)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlanPensionSignificantEmployerContributionExceedsFivePercent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:booleanItemType
Balance Type: | na
Period Type: | duration

X
- Definition Indicates whether funding improvement plan or rehabilitation plan was implemented or pending for multiemployer pension plan, determined to be individually significant. Acceptable values are "No", "Pending", "Implemented", "Other", and "NA". + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlanPensionSignificantFundingImprovementOrRehabilitationPlanImplementationStatusFixedList
Namespace Prefix: | us-gaap_
Data Type: | us-types:fundingImprovementAndRehabilitationPlanItemType
Balance Type: | na
Period Type: | duration

X
- Definition Plan number for multiemployer pension plan determined to be individually significant, in three-digit numeric format. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlanPensionSignificantPlanNumber
Namespace Prefix: | us-gaap_
Data Type: | us-types:threeDigitItemType
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/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-6 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-6 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-11 Reference 5: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-11 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-11 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 35 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480606/715-80-35-1 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-11 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (e)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (e)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(3) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-5 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-9 Reference 19: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480576/715-80-50-6 + Details
Name: | us-gaap_MultiemployerPlansLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_NationalAutomaticSprinklerIndustryPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_NationalElectricalBenefitFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_UnitedAssociationNationalPensionFundFormerlyPlumbersAndPipefittersNationalPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_SheetMetalWorkersNationalPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_CentralPensionFundoftheIUOEParticipatingEmployeesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_ElectricalWorkersLocalNo26PensionTrustFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PensionHospitalizationAndBenefitPlanOfElectricalIndustryPensionTrustAccountMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PlumbersPipefittersAndMechanicalEquipmentServiceLocalUnion392PensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_ElectricalWorkersPensionPlanLocal103IBEWMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_NorthernCaliforniaPipeTradesPensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_EdisonPensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_SheetMetalWorkersPensionPlanOfNorthernCaliforniaMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_SanDiegoElectricalPensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_HeatingPipingRefrigerationPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PipefittersUnionLocal537PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_SouthernCaliforniaPipeTradesRetirementFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_ElectricalContractorsAssociationOfTheCityOfChicagoLocalUnion134IBEWJointPensionTrustOfChicagoPensionPlan2Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_IBEWLocal701PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_EighthDistrictElectricalPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_SouthernCaliforniaIbewNecaPensionTrustFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_IBEWLocal82PensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_SheetMetalWorkersPensionPlanOfSouthernCaliforniaArizonaAndNevadaMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_KernCountyElectricalWorkersPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_U.A.Local393PensionTrustFundDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_ArizonaPipeTradesPensionTrustFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_JointPensionFundOfLocalUnionNo.102Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PlumbersSteamfittersLocal486PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PlumbersPipefittersLocalNo.189PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_SouthFloridaElectricalWorkersPensionPlanAndTrustMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_U.A.PlumbersLocal24PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_NECAIBEWPensionTrustFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_IBEW332PensionPlanPartAMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PlumbersPipefittersLocal162PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_SteamfittersLocalUnionNo420PensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_BoilermakerBlacksmithNationalPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PlumbingPipeFittingLocal219PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_CarpentersPensionTrustFundForNorthernCaliforniaMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_OtherMultiemployerPensionPlansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |