XML 43 R60.htm IDEA: XBRL DOCUMENT
v3.19.3.a.u2

Debt Obligations - Other (Details) $ in Thousands |  |  |  | 12 Months Ended
--- | --- | --- | --- | ---
Dec. 31, 2019 USD ($) item | Dec. 20, 2019 USD ($) | Dec. 19, 2019 USD ($) | Dec. 31, 2019 USD ($) item | Dec. 31, 2018 USD ($) | Dec. 31, 2017 USD ($)
Debt Obligations |  |  |  |  |  |
Financing and professional cost |  |  |  | $ 1,405 | $ 844 |
Outstanding balance | $ 226,483 |  |  | 226,483 | 76,918 |
Reconciliation of Credit Facility Adjusted EBITDA to net income |  |  |  |  |  |
Net income |  |  |  | 114,324 | 112,903 | $ 55,272
Provision for income taxes |  |  |  | 37,418 | 35,773 | 45,666
Stock-based compensation |  |  |  | $ 5,878 | 7,161 | $ 6,377
Principal financial covenants |  |  |  |  |  |
Fixed charge coverage ratio | 2.00 |  |  | 2.00 |  |
Revolving credit facility |  |  |  |  |  |
Debt Obligations |  |  |  |  |  |
Borrowing capacity |  | $ 450,000 |  |  |  |
Payments of financing costs line of credit arrangements | $ 1,000 |  |  |  |  |
Outstanding borrowings | 28,000 |  |  | $ 28,000 |  |
Outstanding balance | 28,000 |  |  | 28,000 | 50,000 |
Letters of credit amount outstanding | 40,900 |  |  | 40,900 |  |
Credit available | 381,100 |  |  | 381,100 |  |
Book value of assets pledged as collateral | $ 58,200 |  |  | $ 58,200 |  |
Number of quarters of net earnings used for the calculation of the credit facility adjusted EBITDA | item |  |  |  | 4 |  |
Reconciliation of Credit Facility Adjusted EBITDA to net income |  |  |  |  |  |
Net income |  |  |  | $ 114,324 |  |
Provision for income taxes |  |  |  | 37,418 |  |
Interest expense, net |  |  |  | 9,093 |  |
Depreciation and amortization expense |  |  |  | 51,572 |  |
Stock-based compensation |  |  |  | 5,878 |  |
Pre-acquisition results of acquired companies, as defined under the Facility |  |  |  | (1,404) |  |
Credit Facility Adjusted EBITDA |  |  |  | $ 219,689 |  |
Principal financial covenants |  |  |  |  |  |
Number of interest rate options | item |  |  |  | 2 |  |
Leverage ratio | 1.0 |  |  | 1.0 |  |
Fixed charge coverage ratio | 11.3 |  |  | 11.3 |  |
Period of Credit Facility Adjusted EBITDA for determining additional margins |  |  |  | 12 months |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Weighted average interest rate (as a percent) | 3.20% |  |  | 3.20% |  |
Revolving credit facility | Through maturity |  |  |  |  |  |
Principal financial covenants |  |  |  |  |  |
Leverage ratio | 3.00 |  |  | 3.00 |  |
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Letter of credit fees (as a percent) |  |  |  | 1.25% |  |
Commitment fees payable on unused portion of the facility (as a percent) |  |  |  | 0.20% |  |
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Letter of credit fees (as a percent) |  |  |  | 1.50% |  |
Commitment fees payable on unused portion of the facility (as a percent) |  |  |  | 0.25% |  |
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Letter of credit fees (as a percent) |  |  |  | 1.75% |  |
Commitment fees payable on unused portion of the facility (as a percent) |  |  |  | 0.30% |  |
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Letter of credit fees (as a percent) |  |  |  | 2.00% |  |
Commitment fees payable on unused portion of the facility (as a percent) |  |  |  | 0.35% |  |
Revolving credit facility | Minimum |  |  |  |  |  |
Principal financial covenants |  |  |  |  |  |
Fixed charge coverage ratio | 1.50 |  |  | 1.50 |  |
Revolving credit facility | Minimum | Covenant Requirement |  |  |  |  |  |
Principal financial covenants |  |  |  |  |  |
Net leverage ratio used as basis for other restrictions | 2.50 |  |  | 2.50 |  |
Revolving credit facility | Maximum |  |  |  |  |  |
Principal financial covenants |  |  |  |  |  |
Permitted amount of acquisitions per transaction | $ 5,000 |  |  | $ 5,000 |  |
Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction | 10,000 |  |  | $ 10,000 |  |
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 0.25% |  |
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 0.50% |  |
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 0.75% |  |
Revolving credit facility | Base Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 1.00% |  |
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 1.00 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 1.25% |  |
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.00 to 1.75 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 1.50% |  |
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.75 to 2.50 |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 1.75% |  |
Revolving credit facility | Eurodollar Rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.50 or greater |  |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 2.00% |  |
Amended senior revolving credit facility |  |  |  |  |  |
Debt Obligations |  |  |  |  |  |
Borrowing capacity |  | 600,000 | $ 400,000 |  |  |
Line of credit borrowing capacity accordion option |  | 150,000 |  |  |  |
Unamortized costs |  |  | $ 1,300 |  |  |
Financing and professional cost | 1,400 |  |  |  |  |
Term loan |  |  |  |  |  |
Debt Obligations |  |  |  |  |  |
Borrowing capacity |  | $ 150,000 |  |  |  |
Repayment in terms of percentage of original aggregate principal amount |  | 3.75% | 1.25% |  |  |
Payments of financing costs term loan | 400 |  |  |  |  |
Outstanding balance | $ 150,000 |  |  | $ 150,000 |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Weighted average interest rate (as a percent) | 3.30% |  |  | 3.30% |  |
Notes to former owners |  |  |  |  |  |
Other disclosures |  |  |  |  |  |
Cumulative number of companies acquired | item | 6 |  |  | 6 |  |
Outstanding balance | $ 48,483 |  |  | $ 48,483 | 26,813 |
Promissory note | Walker |  |  |  |  |  |
Other disclosures |  |  |  |  |  |
Outstanding balance | $ 25,000 |  |  | $ 25,000 |  |
Stated interest rate (as a percent) | 4.00% |  |  | 4.00% |  |
Promissory note | BCH |  |  |  |  |  |
Other disclosures |  |  |  |  |  |
Outstanding balance | $ 14,300 |  |  | $ 14,300 |  |
Weighted average interest rate (as a percent) | 3.00% |  |  | 3.00% |  |
Promissory note | Four Immaterial Acquisition |  |  |  |  |  |
Other disclosures |  |  |  |  |  |
Outstanding balance | $ 9,200 |  |  | $ 9,200 |  |
Promissory note | Minimum | Five Immaterial Acquisition |  |  |  |  |  |
Other disclosures |  |  |  |  |  |
Weighted average interest rate (as a percent) | 2.90% |  |  | 2.90% |  |
Promissory note | Maximum | Five Immaterial Acquisition |  |  |  |  |  |
Other disclosures |  |  |  |  |  |
Weighted average interest rate (as a percent) | 3.50% |  |  | 3.50% |  |
Letter of Credit |  |  |  |  |  |
Debt Obligations |  |  |  |  |  |
Borrowing capacity |  | $ 160,000 |  |  |  |
Other debt |  |  |  |  |  |
Debt Obligations |  |  |  |  |  |
Outstanding balance |  |  |  |  | $ 105 |
Federal Funds Rate | Revolving credit facility | Base Rate |  |  |  |  |  |
Market rates relating to interest options |  |  |  |  |  |
Market rate (as a percent) | 2.05% |  |  | 2.05% |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 0.50% |  |
Wells Fargo Bank, N.A. Prime Rate | Revolving credit facility | Base Rate |  |  |  |  |  |
Market rates relating to interest options |  |  |  |  |  |
Market rate (as a percent) | 4.75% |  |  | 4.75% |  |
One-month LIBOR | Revolving credit facility | Base Rate |  |  |  |  |  |
Market rates relating to interest options |  |  |  |  |  |
Market rate (as a percent) | 2.76% |  |  | 2.76% |  |
Additional per annum interest margin added under: |  |  |  |  |  |
Additional per annum interest margin (as a percent) |  |  |  | 1.00% |  |
One-month LIBOR | Revolving credit facility | Eurodollar Rate |  |  |  |  |  |
Market rates relating to interest options |  |  |  |  |  |
Variable rate basis |  |  |  | One-month LIBOR |  |
Market rate (as a percent) | 1.76% |  |  | 1.76% |  |
Six-month LIBOR | Revolving credit facility | Eurodollar Rate |  |  |  |  |  |
Market rates relating to interest options |  |  |  |  |  |
Variable rate basis |  |  |  | Six-month LIBOR |  |
Market rate (as a percent) | 1.91% |  |  | 1.91% |  |

X
- Definition Represents the earnings of the acquiree prior to the acquisition date. + References No definition available. + Details
Name: | fix_BusinessAcquisitionPreAcquisitionEarnings
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The cumulative number of companies acquired by the entity. + References No definition available. + Details
Name: | fix_CumulativeNumberOfCompaniesAcquired
Namespace Prefix: | fix_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | instant

X
- Definition Represents the ratio of consolidated adjusted earnings before, interest, taxes, depreciation and amortization, less non-financed capital expenditures, tax provision, dividends and amounts used to repurchase stock to the sum of interest expense and scheduled principal payments of indebtedness required to be maintained under the financial covenants. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantFixedChargeCoverageRatio
Namespace Prefix: | fix_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | instant

X
- Definition Represents the ratio of consolidated total debt to consolidated adjusted earnings before, interest, taxes, depreciation and amortization required to be maintained under the financial covenants. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantLeverageRatio
Namespace Prefix: | fix_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | instant

X
- Definition Represents the number of quarters of net earnings used for the calculation of the credit facility adjusted EBITDA. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantNetEarningsUsedForCalculationOfCreditFacilityAdjustedEBITDANumberOfQuarters
Namespace Prefix: | fix_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the aggregate purchase price of current acquisition and acquisitions in the preceding twelve month period used for determining the permitted amount of acquisition per transaction under the financial covenants. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Represents the net leverage ratio as defined in the financial covenants which is used as a basis to determine other restrictions. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio
Namespace Prefix: | fix_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | instant

X
- Definition Represents the amount of acquisition per transaction permitted under the financial covenants. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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

X
- Definition Represents the number of interest rate options. + References No definition available. + Details
Name: | fix_DebtInstrumentInterestRateOptionsNumber
Namespace Prefix: | fix_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the market rate relating to interest options under the Facility. + References No definition available. + Details
Name: | fix_DebtInstrumentMarketRate
Namespace Prefix: | fix_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Represents the period of Credit Facility Adjusted EBITDA for determining additional margins. + References No definition available. + Details
Name: | fix_DebtInstrumentTermOfEarningsBeforeInterestTaxDepreciationAndAmortizationForDeterminationOfAdditionalMargins
Namespace Prefix: | fix_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

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

X
- Definition Represents the earnings before deduction of interest expenses, taxes, depreciation and amortization. + References No definition available. + Details
Name: | fix_EarningsBeforeInterestTaxDepreciationAndAmortization
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Represents the fees for the letter of credit facility, expressed as a percent based on the ratio of consolidated total indebtedness to credit facility adjusted EBITDA, as defined in the credit agreement. + References No definition available. + Details
Name: | fix_LetterOfCreditFeesPercentage
Namespace Prefix: | fix_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Accordion option on credit facility per terms of the agreement. + References No definition available. + Details
Name: | fix_LineOfCreditBorrowingCapacityAccordionOption
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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

X
- Definition Payments Of Financing Costs Line Of Credit Arrangements. + References No definition available. + Details
Name: | fix_PaymentsOfFinancingCostsLineOfCreditArrangements
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Payments Of Financing Costs Term Loan + References No definition available. + Details
Name: | fix_PaymentsOfFinancingCostsTermLoan
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition n/a + References No definition available. + Details
Name: | fix_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract
Namespace Prefix: | fix_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents repayment in terms of percentage of original aggregate principal amount. + References No definition available. + Details
Name: | fix_RepaymentInTermsOfPercentageOfOriginalAggregatePrincipalAmount
Namespace Prefix: | fix_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage points added to the reference rate to compute the variable rate on the debt instrument. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The reference rate for the variable rate of the debt instrument, such as LIBOR or the US Treasury rate and the maturity of the reference rate used, such as three months or six months LIBOR. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentDescriptionOfVariableRateBasis
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 20 -Section 50 -Paragraph 6 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109500613&loc=SL6036836-161870 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 835 -SubTopic 30 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=114775744&loc=d3e28551-108399 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.22(a)(1)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_DebtInstrumentInterestRateEffectivePercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Contractual interest rate for funds borrowed, under the debt agreement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.22(a)(1)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_DebtInstrumentInterestRateStatedPercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
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_DebtInstrumentLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, after accumulated amortization, of debt issuance costs related to line of credit arrangements. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 835 -SubTopic 30 -Section S45 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=68176171&loc=SL68176184-208336 + Details
Name: | us-gaap_DebtIssuanceCostsLineOfCreditArrangementsNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Represents the aggregate of total long-term debt, including current maturities and short-term debt. + References No definition available. + Details
Name: | us-gaap_DebtLongtermAndShorttermCombinedAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Weighted average interest rate of debt outstanding. + References No definition available. + Details
Name: | us-gaap_DebtWeightedAverageInterestRate
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 360 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585 + Details
Name: | us-gaap_DepreciationAndAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Subparagraph (h) -URI http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(h)) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 20 -Section 45 -Paragraph 2 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324 + Details
Name: | us-gaap_IncomeTaxExpenseBenefit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The net amount of operating interest income (expense). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 220 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04.10) -URI http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260 + Details
Name: | us-gaap_InterestIncomeExpenseNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The total amount of the contingent obligation under letters of credit outstanding as of the reporting date. + References No definition available. + Details
Name: | us-gaap_LettersOfCreditOutstandingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(22)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03(16)) -URI http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(16)) -URI http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910 + Details
Name: | us-gaap_LineOfCredit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.19(b),22(b)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.19(b),22(b)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility. + References No definition available. + Details
Name: | us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_LongTermDebtOtherDisclosuresAbstract
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 -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(16)) -URI http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(22)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03(16)) -URI http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878 + Details
Name: | us-gaap_NotesAndLoansPayable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The cash outflow for loan and debt issuance costs. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 15 -URI http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585 + Details
Name: | us-gaap_PaymentsOfFinancingCosts
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The carrying amount, as of the date of the latest financial statement presented, of all assets that are pledged as collateral for the payment of the related debt obligation primarily arising from secured borrowings, repurchase agreements or other current or potential obligations, where the secured party does not have the right by contract or custom to sell or re-pledge the collateral and therefore are not reclassified and separately reported in the statement of financial position. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 860 -SubTopic 30 -Section 50 -Paragraph 1A -Subparagraph (b)(1)(i) -URI http://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729 + Details
Name: | us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 1A -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 810 -SubTopic 10 -Section 50 -Paragraph 1A -Subparagraph (a)(1) -URI http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 1B -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 810 -SubTopic 10 -Section 50 -Paragraph 1A -Subparagraph (c)(1) -URI http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -URI http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Publisher FASB -Name Accounting Standards Codification -Topic 810 -SubTopic 10 -Section 55 -Paragraph 4J -URI http://asc.fasb.org/extlink&oid=116874947&loc=SL4591551-111686 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=118932676&loc=d3e3000-108585 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 810 -SubTopic 10 -Section 45 -Paragraph 19 -URI http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 32 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599 Reference 10: http://www.xbrl.org/2003/role/exampleRef -Publisher FASB -Name Accounting Standards Codification -Topic 810 -SubTopic 10 -Section 55 -Paragraph 4K -URI http://asc.fasb.org/extlink&oid=116874947&loc=SL4591552-111686 + Details
Name: | us-gaap_ProfitLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of noncash expense for share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585 + Details
Name: | us-gaap_ShareBasedCompensation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

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

X
- Details
Name: | fix_DebtCovenantEffectiveDateAxis=fix_ThroughMaturityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeTwoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeThreeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtCovenantRatioAxis=fix_DebtCovenantRatioRangeFourMember
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_StatementScenarioAxis=fix_ScenarioCovenantRequirementMember
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: | us-gaap_VariableRateAxis=fix_DebtInstrumentVariableRateBaseRateMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_VariableRateAxis=us-gaap_EurodollarMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

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

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

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=fix_WalkerTxHoldingsInc.AndItsWhollyOwnedSubsidiariesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=fix_BchHoldingsIncMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=fix_FourImmaterialAcquisitionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=fix_FiveImmaterialAcquisitionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

X
- Details
Name: | fix_DebtInstrumentVariableRateSecondaryClassificationAxis=fix_DebtInstrumentVariableRateFederalFundsRateMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtInstrumentVariableRateSecondaryClassificationAxis=fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtInstrumentVariableRateSecondaryClassificationAxis=fix_DebtInstrumentVariableRateOneMonthLIBORMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fix_DebtInstrumentVariableRateSecondaryClassificationAxis=fix_DebtInstrumentVariableRateSixMonthLIBORMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |