XML 105 R90.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Retirement Plans - Schedule of Multiemployer Plans (Details) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2024 | Dec. 31, 2023 | Dec. 31, 2022
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 11-2125338 |  |
Expense recognized |  | $ 44,000 | $ 36,700 | $ 35,000
Multiemployer Plans, Pension |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
Contributions |  | $ 297,050 | $ 258,829 | 236,165
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 |  | $ 30,719 | $ 25,559 | 21,583
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 |  | $ 23,255 | $ 18,128 | 15,192
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 |  | $ 21,839 | $ 16,815 | 15,288
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 |  | $ 12,795 | $ 10,797 | 9,505
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 |  | $ 12,472 | $ 8,283 | 7,844
Contributions greater than 5% | [2] | true |  |
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 |  | $ 9,433 | $ 8,573 | 7,651
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 |  | $ 7,982 | $ 5,840 | 5,325
Contributions greater than 5% | [2] | true |  |
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] | Yellow | Red |
FIP/RP Status |  | Pending |  |
Contributions |  | $ 7,728 | $ 7,010 | 7,674
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 |  | $ 7,039 | $ 5,511 | 4,258
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 |  | $ 6,982 | $ 7,198 | 8,122
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 |  | $ 6,656 | $ 5,179 | 5,039
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,710 | $ 5,315 | 4,625
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 |  | $ 5,447 | $ 4,657 | 4,650
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,245 | $ 5,738 | 6,074
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 |  | $ 5,133 | $ 6,537 | 2,900
Contributions greater than 5% | [2] | true |  |
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 |  | $ 4,476 | $ 3,844 | 3,339
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,341 | $ 4,432 | 3,516
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 |  | $ 4,279 | $ 3,801 | 4,287
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Atlanta Plumbers and Steamfitters Pension Fund |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 58-1233396 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 4,133 | $ 1,691 | 1,434
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 |  | $ 4,038 | $ 3,048 | 2,940
Contributions greater than 5% | [2] | true |  |
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,849 | $ 3,989 | 2,625
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,783 | $ 3,399 | 2,921
Contributions greater than 5% | [2] | false |  |
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,734 | $ 3,263 | 3,517
Contributions greater than 5% | [2] | true |  |
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,325 | $ 3,701 | 2,549
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 |  | $ 3,310 | $ 6,317 | 3,238
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 |  | $ 3,242 | $ 2,228 | 3,034
Contributions greater than 5% | [2] | false |  |
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,796 | $ 2,828 | 1,599
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | IBEW Local 456 Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 22-6238995 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,792 | $ 1,390 | 417
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Plumbers & Pipefitters Local No. 189 Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 31-0894807 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,744 | $ 2,557 | 1,272
Contributions greater than 5% | [2] | true |  |
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 |  | $ 2,499 | $ 3,299 | 1,542
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,231 | $ 2,295 | 1,819
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Building Trades United Pension Trust Fund Milwaukee and Vicinity |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 51-6049409 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,182 | $ 1,622 | 1,560
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | IBEW Local No. 683 Pension Fund Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 34-1442087 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,146 | $ 905 | 893
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Pension and Retirement Plan of Plumbers and Pipefitters Union, Local No. 525 |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 88-6003864 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,099 | $ 1,970 | 1,858
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Plumbers and Steamfitters Local No. 166 AFL - CIO Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 51-6132690 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,046 | $ 1,773 | 1,838
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | IBEW Local No. 640 & Arizona Chapter NECA Defined Benefit Pension Plan |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 86-0323980 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Green | Green |
FIP/RP Status |  | NA |  |
Contributions |  | $ 2,044 | $ 390 | 52
Contributions greater than 5% | [2] | false |  |
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,390 | $ 1,243 | 1,132
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 |  | $ 1,098 | $ 919 | 1,172
Contributions greater than 5% | [2] | true |  |
Multiemployer Plans, Pension | Boilermaker-Blacksmith National Pension Trust |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
EIN |  | 48-6168020 |  |
Pension Plan Number |  | 001 |  |
Zone Status | [1] | Red | Red |
FIP/RP Status |  | Implemented |  |
Contributions |  | $ 825 | $ 1,140 | 6,434
Contributions greater than 5% | [2] | false |  |
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 |  | $ 627 | $ 610 | 532
Contributions greater than 5% | [2] | false |  |
Multiemployer Plans, Pension | Other Multiemployer Pension Plans |  |  |  |
Multiemployer Plans [Line Items] |  |  |  |
Contributions |  | $ 58,586 | $ 55,035 | $ 54,915
[1] | The zone status represents the most recent available information for the respective MEPP, which may be from 2023 or earlier for the 2024 year and from 2022 or earlier for the 2023 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_ElectricalWorkersLocalNo26PensionTrustFundMember
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_EdisonPensionPlanMember
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_SanDiegoElectricalPensionPlanMember
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_PipefittersUnionLocal537PensionFundMember
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_SouthernCaliforniaPipeTradesRetirementFundMember
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_ElectricalWorkersPensionPlanLocal103IBEWMember
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_ElectricalContractorsAssociationOfTheCityOfChicagoLocalUnion134IBEWJointPensionTrustOfChicagoPensionPlan2Member
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_AtlantaPlumbersAndSteamfittersPensionFundMember
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_IBEWLocal701PensionFundMember
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_U.A.Local393PensionTrustFundDefinedBenefitMember
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_NorthernCaliforniaPipeTradesPensionPlanMember
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_PlumbersSteamfittersLocal486PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PlumbersPipefittersLocalNo.189PensionPlanMember
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.PlumbersLocal24PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_IBEWLocalNo.683PensionFundPensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_PlumbersAndSteamfittersLocalNo.166AFLCIOPensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=eme_IBEWLocalNo.640ArizonaChapterNECADefinedBenefitPensionPlanMember
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_PlumbingPipeFittingLocal219PensionFundMember
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_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: |