XML 64 R50.htm IDEA: XBRL DOCUMENT
v3.22.4

Goodwill and Identifiable Intangible Assets, Net - Identifiable Intangible Assets, Net (Details) - USD ($) $ in Thousands | 12 Months Ended |
--- | --- | ---
Dec. 31, 2022 | Dec. 31, 2021
Identifiable Intangible Assets, Net |  |
Gross Book Value | $ 465,482 | $ 477,667
Accumulated Amortization | (191,581) | (172,886)
Future amortization expense of identifiable intangible assets |  |
2023 | 36,252 |
2024 | 34,063 |
2025 | 31,876 |
2026 | 31,032 |
2027 | 29,050 |
Thereafter | 111,628 |
Total | $ 273,901 |
Customer Relationships |  |
Identifiable Intangible Assets, Net |  |
Estimated Useful Lives in Years | 6 years 8 months 12 days |
Gross Book Value | $ 340,721 | 330,572
Accumulated Amortization | $ (161,049) | (130,098)
Customer Relationships | Minimum |  |
Identifiable Intangible Assets, Net |  |
Estimated Useful Lives in Years | 6 years 8 months 12 days |
Backlog |  |
Identifiable Intangible Assets, Net |  |
Estimated Useful Lives in Years | 9 months 18 days |
Gross Book Value | $ 3,200 | 32,300
Accumulated Amortization | $ (2,361) | (20,091)
Backlog | Minimum |  |
Identifiable Intangible Assets, Net |  |
Estimated Useful Lives in Years | 9 months 18 days |
Trade Name |  |
Identifiable Intangible Assets, Net |  |
Estimated Useful Lives in Years | 18 years 4 months 24 days |
Gross Book Value | $ 121,561 | 114,795
Accumulated Amortization | $ (28,171) | $ (22,697)
Trade Name | Minimum |  |
Identifiable Intangible Assets, Net |  |
Estimated Useful Lives in Years | 18 years 4 months 24 days |
Customer Relationships Noncompete Agreements and Tradenames | Minimum |  |
Identifiable Intangible Assets, Net |  |
Estimated Useful Lives in Years | 1 year |
Customer Relationships Noncompete Agreements and Tradenames | Maximum |  |
Identifiable Intangible Assets, Net |  |
Estimated Useful Lives in Years | 25 years |

X
- Definition Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_FiniteLivedIntangibleAssetUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (a)(1) -URI https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(16)) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References No definition available. + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (a)(3) -URI https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (a)(3) -URI https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (a)(3) -URI https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (a)(3) -URI https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (a)(3) -URI https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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

X
- Definition Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 928 -SubTopic 340 -Section 50 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (a)(1) -URI https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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_FiniteLivedIntangibleAssetsLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 926 -SubTopic 20 -Section 50 -Paragraph 5 -URI https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 30 -Section 50 -Paragraph 2 -Subparagraph (a)(1) -URI https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=fix_CustomerRelationshipsNonCompeteAgreementsAndTradenamesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |