Revenue from contracts with customers - Disaggregation of revenue (Details) - USD ($) $ in Thousands | 3 Months Ended |
Mar. 31, 2024 | Mar. 31, 2023 |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | $ 1,204,349 | $ 1,422,882 |
Other revenues | 9,476 | 7,216 |
Total external operating revenues | 1,213,825 | 1,430,098 |
Intersegment eliminations | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | (31,899) | (27,939) |
Total external operating revenues | (31,899) | (27,939) |
Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Total external operating revenues | 1,244,291 | 1,456,465 |
Natural gas transportation | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 58,228 | 48,487 |
Natural gas storage | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 5,382 | 3,861 |
Electrical & mechanical specialty contracting | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 439,378 | 590,263 |
Transmission & distribution specialty contracting | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 176,860 | 152,022 |
Other | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 22,566 | 20,063 |
Residential utility sales | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 302,325 | 365,476 |
Commercial utility sales | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 203,645 | 241,274 |
Industrial utility sales | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 25,928 | 27,601 |
Other utility sales | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 1,936 | 1,774 |
Electric | Intersegment eliminations | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | (28) | (27) |
Electric | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 109,624 | 98,560 |
Other revenues | (1,897) | (2,863) |
Total external operating revenues | 107,727 | 95,697 |
Electric | Natural gas transportation | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Electric | Natural gas storage | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Electric | Electrical & mechanical specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Electric | Transmission & distribution specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Electric | Other | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 15,630 | 11,878 |
Electric | Residential utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 39,222 | 37,825 |
Electric | Commercial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 41,515 | 36,347 |
Electric | Industrial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 11,349 | 10,763 |
Electric | Other utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 1,936 | 1,774 |
Natural gas distribution | Intersegment eliminations | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | (56) | (70) |
Natural gas distribution | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 457,548 | 567,571 |
Other revenues | 1,921 | (1,974) |
Total external operating revenues | 459,469 | 565,597 |
Natural gas distribution | Natural gas transportation | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 14,591 | 13,504 |
Natural gas distribution | Natural gas storage | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Natural gas distribution | Electrical & mechanical specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Natural gas distribution | Transmission & distribution specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Natural gas distribution | Other | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 3,201 | 4,721 |
Natural gas distribution | Residential utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 263,103 | 327,651 |
Natural gas distribution | Commercial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 162,130 | 204,927 |
Natural gas distribution | Industrial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 14,579 | 16,838 |
Natural gas distribution | Other utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Pipeline | Intersegment eliminations | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | (30,311) | (26,270) |
Pipeline | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 20,964 | 14,433 |
Other revenues | 47 | 38 |
Total external operating revenues | 21,011 | 14,471 |
Pipeline | Natural gas transportation | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 43,637 | 34,983 |
Pipeline | Natural gas storage | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 5,382 | 3,861 |
Pipeline | Electrical & mechanical specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Pipeline | Transmission & distribution specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Pipeline | Other | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 2,256 | 1,859 |
Pipeline | Residential utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Pipeline | Commercial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Pipeline | Industrial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Pipeline | Other utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Construction services | Intersegment eliminations | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | (87) | 0 |
Construction services | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 616,197 | 742,318 |
Other revenues | 9,405 | 12,015 |
Total external operating revenues | 625,602 | 754,333 |
Construction services | Natural gas transportation | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Construction services | Natural gas storage | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Construction services | Electrical & mechanical specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 439,378 | 590,263 |
Construction services | Transmission & distribution specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 176,860 | 152,022 |
Construction services | Other | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 46 | 33 |
Construction services | Residential utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Construction services | Commercial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Construction services | Industrial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Construction services | Other utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Other | Intersegment eliminations | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | (1,417) | (1,572) |
Other | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 16 | 0 |
Other revenues | 0 | 0 |
Total external operating revenues | 16 | 0 |
Other | Natural gas transportation | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Other | Natural gas storage | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Other | Electrical & mechanical specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Other | Transmission & distribution specialty contracting | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Other | Other | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 1,433 | 1,572 |
Other | Residential utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Other | Commercial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Other | Industrial utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | 0 | 0 |
Other | Other utility sales | Operating Segments | | |
Disaggregation of Revenue [Line Items] | | |
Revenues from contracts with customers | $ 0 | $ 0 |