XML 47 R36.htm IDEA: XBRL DOCUMENT
v3.25.1

Fair Value Measurements (Details) - USD ($) $ in Thousands | 3 Months Ended | 12 Months Ended
--- | --- | ---
Mar. 31, 2025 | Dec. 31, 2024
Maximum |  |
Fair Value Measurements |  |
Weighted average cost of capital | 19.50% |
Contingent earn-out obligations |  |
Fair Value Measurements |  |
Contingent earn-out obligations | $ 63,768 | $ 140,156
Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3) |  |
Balance at beginning of year | 140,156 | 44,222
Issuances | 218 | 51,784
Settlements | (80,364) | (43,996)
Adjustments to fair value | 3,758 | 88,146
Balance at end of year | 63,768 | 140,156
Recurring basis | Total |  |
Fair Value Measurements |  |
Cash and cash equivalents | 204,758 | 549,939
U.S. Treasury bills | 7,274 |
Contingent earn-out obligations | 63,768 | 140,156
Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3) |  |
Balance at beginning of year | 140,156 |
Balance at end of year | 63,768 | 140,156
Recurring basis | Quoted Market Prices In Active Markets for Identical Assets (Level 1) |  |
Fair Value Measurements |  |
Cash and cash equivalents | 204,758 | 549,939
Recurring basis | Significant Other Observable Inputs (Level 2) |  |
Fair Value Measurements |  |
U.S. Treasury bills | 7,274 |
Recurring basis | Significant Unobservable Inputs (Level 3) |  |
Fair Value Measurements |  |
Contingent earn-out obligations | 63,768 | 140,156
Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3) |  |
Balance at beginning of year | 140,156 |
Balance at end of year | $ 63,768 | $ 140,156

X
- Definition Percentage of weighted average cost of capital. + References No definition available. + Details
Name: | fix_WeightedAverageCostOfCapital
Namespace Prefix: | fix_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 + Details
Name: | us-gaap_CashAndCashEquivalentsFairValueDisclosure
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 Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 100 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3 + Details
Name: | us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. + References No definition available. + Details
Name: | us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3). + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 + Details
Name: | us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 + Details
Name: | us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 + Details
Name: | us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-3 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 + Details
Name: | us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Fair value portion of investment securities, including, but not limited to, marketable securities, derivative financial instruments, and investments accounted for under the equity method. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2E -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2E Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 820 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2 + Details
Name: | us-gaap_InvestmentsFairValueDisclosure
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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

X
- Details
Name: | us-gaap_FairValueByLiabilityClassAxis=fix_ContingentConsiderationObligationsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |