XML 45 R34.htm IDEA: XBRL DOCUMENT
v3.19.1

Debt Obligations - Other (Details) $ in Thousands | 3 Months Ended |  |  |
--- | --- | --- | --- | ---
Mar. 31, 2019 USD ($) item | Mar. 31, 2018 USD ($) | Dec. 31, 2018 USD ($) | Apr. 18, 2018 USD ($) | Apr. 17, 2018 USD ($)
Reconciliation of Earnings before Interest Tax Depreciation and Amortization to Net Income |  |  |  |  |
Net income | $ 19,866 | $ 16,659 |  |  |
Provision for income taxes | 6,933 | 2,074 |  |  |
Stock-based compensation | 3,176 | $ 2,793 |  |  |
Other disclosures |  |  |  |  |
Outstanding balance | 74,484 |  | $ 73,639 |  |
Shoffner |  |  |  |  |
Other disclosures |  |  |  |  |
Outstanding balance | 100 |  |  |  |
Acquired debt | $ 400 |  |  |  |
London Interbank Offered Rate (LIBOR) | Shoffner |  |  |  |  |
Additional per annum interest margin added under: |  |  |  |  |
Additional per annum interest margin (as a percent) | 2.25% |  |  |  |
Revolving credit facility |  |  |  |  |
Debt Obligations |  |  |  |  |
Outstanding borrowings | $ 51,000 |  |  |  |
Letters of credit amount outstanding | 33,600 |  |  |  |
Credit available | $ 315,400 |  |  |  |
Principal financial covenants |  |  |  |  |
Number of interest rate options | item | 2 |  |  |  |
Leverage ratio | 0.4 |  |  |  |
Fixed charge coverage ratio | 22.6 |  |  |  |
Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio | item | 4 |  |  |  |
Other disclosures |  |  |  |  |
Weighted average interest rate (as a percent) | 3.70% |  |  |  |
Revolving credit facility | Through maturity |  |  |  |  |
Principal financial covenants |  |  |  |  |
Leverage ratio | 3.00 |  |  |  |
Revolving credit facility | Minimum |  |  |  |  |
Principal financial covenants |  |  |  |  |
Fixed charge coverage ratio | 2.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 | Minimum | Covenant Requirement |  |  |  |  |
Principal financial covenants |  |  |  |  |
Net leverage ratio used as basis for other restrictions | 2.00 |  |  |  |
Revolving credit facility | Maximum |  |  |  |  |
Principal financial covenants |  |  |  |  |
Net leverage ratio after giving effect to stock repurchases for calculation of the fixed charge coverage ratio | 1.75 |  |  |  |
Permitted amount of acquisitions per transaction | $ 40,000 |  |  |  |
Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction | $ 80,000 |  |  |  |
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 | Maximum | Covenant Requirement |  |  |  |  |
Principal financial covenants |  |  |  |  |
Net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio | 1.75 |  |  |  |
Revolving credit facility | Maximum | Stock Repurchases After February 22, 2016 And On Or Before December 31, 2017 |  |  |  |  |
Principal financial covenants |  |  |  |  |
Amount of stock repurchases to maintain maximum net leverage ratio | $ 30,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 |  |  |  | $ 400,000 | $ 325,000
Line of credit borrowing capacity accordion option | $ 100,000 |  |  |  |
Notes to former owners |  |  |  |  |
Other disclosures |  |  |  |  |
Cumulative number of companies acquired | item | 6 |  |  |  |
Outstanding balance | $ 26,150 |  | $ 26,813 |  |
Subordinate note | Acquisition First Quarter 2018 [Member] |  |  |  |  |
Other disclosures |  |  |  |  |
Outstanding balance | $ 500 |  |  |  |
Weighted average interest rate (as a percent) | 2.50% |  |  |  |
Subordinate note | Acquisition Second Quarter 2018 [Member] |  |  |  |  |
Other disclosures |  |  |  |  |
Outstanding balance | $ 1,000 |  |  |  |
Weighted average interest rate (as a percent) | 3.50% |  |  |  |
Promissory note | BCH |  |  |  |  |
Other disclosures |  |  |  |  |
Outstanding balance | $ 14,300 |  |  |  |
Weighted average interest rate (as a percent) | 3.00% |  |  |  |
Promissory note | Acquisition First Quarter 2019 [Member] |  |  |  |  |
Other disclosures |  |  |  |  |
Outstanding balance | $ 400 |  |  |  |
Weighted average interest rate (as a percent) | 3.00% |  |  |  |
Promissory note | Acquisition Third Quarter 2018 [Member] |  |  |  |  |
Other disclosures |  |  |  |  |
Outstanding balance | $ 6,500 |  |  |  |
Weighted average interest rate (as a percent) | 3.50% |  |  |  |
Promissory note | Acquisition Two Third Quarter 2018 [Member] |  |  |  |  |
Other disclosures |  |  |  |  |
Outstanding balance | $ 3,500 |  |  |  |
Weighted average interest rate (as a percent) | 2.90% |  |  |  |

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 amount of stock repurchases to maintain maximum net leverage ratio. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Represents the number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for the calculation of the fixed charge coverage ratio. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters
Namespace Prefix: | fix_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

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 net leverage ratio determine after giving effect to stock repurchases for calculation of the fixed charge coverage ratio under the financial covenants. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio
Namespace Prefix: | fix_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | instant

X
- Definition Represents the net leverage ratio used to determine exclusion of stock repurchases and the payment of dividends for calculation of the fixed charge coverage ratio under the financial covenants. + References No definition available. + Details
Name: | fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio
Namespace Prefix: | fix_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | instant

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
- 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 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_ReconciliationOfEarningsBeforeInterestTaxDepreciationAndAmortizationToNetIncomeAbstract
Namespace Prefix: | fix_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of long-term debt due after one year or the normal operating cycle, if longer, assumed at the acquisition date. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 805 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=84161108&loc=d3e4845-128472 + Details
Name: | us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLongTermDebt
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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 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 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 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 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=6879938&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
- Definition Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 20 -Section 50 -Paragraph 4 -Subparagraph (b)(3) -URI http://asc.fasb.org/extlink&oid=109500613&loc=SL6031897-161870 Reference 2: 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=6879938&loc=d3e572229-122910 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 Reference 4: 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 + Details
Name: | us-gaap_LongTermDebt
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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=6879938&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 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=114867106&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=114867106&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=84234705&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=109223946&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=84234705&loc=SL4591552-111686 + Details
Name: | us-gaap_ProfitLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The aggregate amount of noncash, equity-based employee remuneration. This may include the value of stock or unit options, amortization of restricted stock or units, and adjustment for officers' compensation. As noncash, this element is an add back when calculating net cash generated by operating activities using the indirect method. + 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=109223946&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_BusinessAcquisitionAxis=fix_ShoffnerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_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_StatementScenarioAxis=fix_StockRepurchasesAfterFebruary222016AndOnOrBeforeDecember312017Member
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: | 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: | 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_SubordinateDebtAndPromissoryNoteMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=fix_AcquisitionSecondQuarter2018Member
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_BchHoldingsIncMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

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