XML 52 R37.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Segment Information (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2023
Segment Information |
Summary of information about reportable segments |
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | Mechanical Segment |  | Electrical Segment |  | Corporate |  | Consolidated
Total Assets at December 31, 2023 | ​ | $ | 2,180,021 | ​ | $ | 901,025 | ​ | $ | 224,533 | ​ | $ | 3,305,579
Total Assets at December 31, 2022 | ​ | $ | 1,741,135 | ​ | $ | 790,040 | ​ | $ | 66,303 | ​ | $ | 2,597,478
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Year Ended December 31, 2023
​ |  | Mechanical Segment |  | Electrical Segment |  | Corporate |  | Consolidated
Revenue | ​ | $ | 3,946,022 | ​ | $ | 1,260,738 | ​ | $ | — | ​ | $ | 5,206,760
Gross Profit | ​ | $ | 750,106 | ​ | $ | 240,403 | ​ | $ | — | ​ | $ | 990,509
Capital Expenditures | ​ | $ | 82,449 | ​ | $ | 9,600 | ​ | $ | 2,789 | ​ | $ | 94,838
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Year Ended December 31, 2022
​ |  | Mechanical Segment |  | Electrical Segment |  | Corporate |  | Consolidated
Revenue | ​ | $ | 3,178,475 | ​ | $ | 961,889 | ​ | $ | — | ​ | $ | 4,140,364
Gross Profit | ​ | $ | 580,619 | ​ | $ | 160,989 | ​ | $ | — | ​ | $ | 741,608
Capital Expenditures | ​ | $ | 43,532 | ​ | $ | 4,101 | ​ | $ | 726 | ​ | $ | 48,359
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Year Ended December 31, 2021
​ |  | Mechanical Segment |  | Electrical Segment |  | Corporate |  | Consolidated
Revenue | ​ | $ | 2,542,623 | ​ | $ | 531,013 | ​ | $ | — | ​ | $ | 3,073,636
Gross Profit | ​ | $ | 486,346 | ​ | $ | 76,861 | ​ | $ | — | ​ | $ | 563,207
Capital Expenditures | ​ | $ | 19,408 | ​ | $ | 2,413 | ​ | $ | 509 | ​ | $ | 22,330

X
- Definition Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 350 -SubTopic 20 -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 25 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30 + Details
Name: | us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_SegmentReportingAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration