XML 53 R42.htm IDEA: XBRL DOCUMENT
v3.24.1.u1

Debt Obligations - Notes to Former Owners (Details) - Notes to Former Owners - USD ($) $ in Thousands | Mar. 31, 2024 | Dec. 31, 2023
--- | --- | ---
Future principal payments of long-term debt |  |
Notes issued to former owners | $ 89,070 | $ 44,070
2024 |  |
Future principal payments of long-term debt |  |
Notes issued to former owners | $ 4,800 |
Stated interest rate (as a percent) | 2.50% |
2025 |  |
Future principal payments of long-term debt |  |
Notes issued to former owners | $ 21,645 |
2025 | Minimum |  |
Future principal payments of long-term debt |  |
Stated interest rate (as a percent) | 2.30% |
2025 | Maximum |  |
Future principal payments of long-term debt |  |
Stated interest rate (as a percent) | 3.00% |
2026 |  |
Future principal payments of long-term debt |  |
Notes issued to former owners | $ 31,625 |
2026 | Minimum |  |
Future principal payments of long-term debt |  |
Stated interest rate (as a percent) | 2.50% |
2026 | Maximum |  |
Future principal payments of long-term debt |  |
Stated interest rate (as a percent) | 5.50% |
2027 |  |
Future principal payments of long-term debt |  |
Notes issued to former owners | $ 26,000 |
Stated interest rate (as a percent) | 5.50% |
2028 |  |
Future principal payments of long-term debt |  |
Notes issued to former owners | $ 5,000 |
Stated interest rate (as a percent) | 5.50% |

X
- Definition Contractual interest rate for funds borrowed, under the debt agreement. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.22(a)(1)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_DebtInstrumentInterestRateStatedPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

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

X
- Definition Including the current and noncurrent portions, carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(22)) -SubTopic 10 -Topic 210 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 944 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(16)(a)(2)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03(16)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1 + Details
Name: | us-gaap_NotesAndLoansPayable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_DebtInstrumentAxis=fix_SubordinateDebtAndPromissoryNoteMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtMaturityDateAxis=fix_MaturityYearOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtMaturityDateAxis=fix_MaturityYearTwoMember
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: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtMaturityDateAxis=fix_MaturityYearThreeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtMaturityDateAxis=fix_MaturityYearFourMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtMaturityDateAxis=fix_MaturityYearFiveMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |