XML 77 R49.htm IDEA: XBRL DOCUMENT v2.4.1.9
Long-Term Debt Obligations (Details 3) (USD $)
3 Months Ended 12 Months Ended 1 Months Ended
Dec. 31, 2014
Sep. 30, 2014
Jun. 30, 2014
Mar. 31, 2014
Dec. 31, 2013
Sep. 30, 2013
Jun. 30, 2013
Mar. 31, 2013
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Jun. 30, 2014
Jul. 22, 2014
Jul. 21, 2014
May 01, 2014
Reconciliation of Earnings before Interest Tax Depreciation and Amortization to Net Income [Abstract]                              
Net income including noncontrolling interests $ 11,821,000us-gaap_ProfitLoss $ 9,379,000us-gaap_ProfitLoss $ 6,336,000us-gaap_ProfitLoss $ 1,063,000us-gaap_ProfitLoss $ 5,935,000us-gaap_ProfitLoss $ 11,612,000us-gaap_ProfitLoss $ 8,314,000us-gaap_ProfitLoss $ 2,695,000us-gaap_ProfitLoss $ 28,599,000us-gaap_ProfitLoss $ 28,556,000us-gaap_ProfitLoss $ 11,849,000us-gaap_ProfitLoss        
Income taxes-continuing operations                 11,614,000us-gaap_IncomeTaxExpenseBenefit 18,148,000us-gaap_IncomeTaxExpenseBenefit 10,045,000us-gaap_IncomeTaxExpenseBenefit        
Stock compensation expense                 4,800,000us-gaap_AllocatedShareBasedCompensationExpense 4,000,000us-gaap_AllocatedShareBasedCompensationExpense 2,800,000us-gaap_AllocatedShareBasedCompensationExpense        
Additional per annum interest margin added under:                              
Payments of debt                 2,000,000us-gaap_RepaymentsOfLongTermDebt 5,400,000us-gaap_RepaymentsOfLongTermDebt 7,349,000us-gaap_RepaymentsOfLongTermDebt        
Other disclosures                              
Capital lease obligation pertaining to acquisition in northern Texas 800,000us-gaap_CapitalLeaseObligations               800,000us-gaap_CapitalLeaseObligations            
Current portion of capital lease obligations 317,000us-gaap_CapitalLeaseObligationsCurrent               317,000us-gaap_CapitalLeaseObligationsCurrent            
Revolving credit facility                              
Long-Term Debt Obligations                              
Borrowing capacity                         250,000,000us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
175,000,000us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
 
Financing and professional cost                         600,000us-gaap_DeferredFinanceCostsGross
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
   
Unamortized costs                         1,000,000us-gaap_DebtInstrumentUnamortizedDiscount
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
   
Outstanding borrowings 38,500,000us-gaap_LineOfCredit
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
              38,500,000us-gaap_LineOfCredit
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Letters of credit amount outstanding 45,000,000us-gaap_LettersOfCreditOutstandingAmount
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
              45,000,000us-gaap_LettersOfCreditOutstandingAmount
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Credit available 138,900,000us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
              138,900,000us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Book value of assets pledged as collateral 57,600,000us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
              57,600,000us-gaap_PledgedAssetsNotSeparatelyReportedOnStatementOfFinancialPosition
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Number of quarters of net earnings used for the calculation of the credit facility adjusted EBITDA                 4fix_DebtInstrumentCovenantNetEarningsUsedForCalculationOfCreditFacilityAdjustedEBITDANumberOfQuarters
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Reconciliation of Earnings before Interest Tax Depreciation and Amortization to Net Income [Abstract]                              
Net income including noncontrolling interests                 28,599,000us-gaap_ProfitLoss
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Income taxes-continuing operations                 11,614,000us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Interest expense, net                 1,840,000us-gaap_InterestIncomeExpenseNet
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Depreciation and amortization expense                 21,336,000us-gaap_DepreciationAndAmortization
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Stock compensation expense                 4,806,000us-gaap_AllocatedShareBasedCompensationExpense
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Income taxes - discontinued operation                 (10,000)us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Goodwill impairment                 727,000us-gaap_GoodwillAndIntangibleAssetImpairment
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
EBITDA attributable to noncontrolling interests                 (6,471,000)fix_EarningsBeforeInterestTaxDepreciationAndAmortizationAttributableToNoncontrollingInterest
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Credit Facility Adjusted EBITDA                 65,187,000fix_EarningsBeforeInterestTaxDepreciationAndAmortization
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Pre-acquisition results of acquired companies, as defined in the credit agreement                 2,746,000fix_BusinessAcquisitionPreAcquisitionEarnings
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Principal financial covenants                              
Leverage ratio 0.62fix_DebtInstrumentCovenantLeverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
              0.62fix_DebtInstrumentCovenantLeverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Number of quarters of capital expenditures, tax provision, dividends and stock repurchase payments used for calculation of fixed charge coverage ratio                 4fix_DebtInstrumentCovenantCapitalExpendituresTaxProvisionsDividendsAndStockRepurchasePaymentsUsedForCalculationOfFixedChargeCoverageRatioNumberOfQuarters
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Number of interest rate options                 2fix_DebtInstrumentInterestRateOptionsNumber
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Period of Credit Facility Adjusted EBITDA for determining additional margins                 12 months            
Debt instrument covenant credit availability ratio 2.75fix_DebtInstrumentCovenantRatioToDetermineCreditAvailability
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
              2.75fix_DebtInstrumentCovenantRatioToDetermineCreditAvailability
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Number of trailing months used to calculate available credit                 12 months            
Additional per annum interest margin added under:                              
Estimated interest rate (as a percent) 1.40%us-gaap_DebtInstrumentInterestRateEffectivePercentage
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
              1.40%us-gaap_DebtInstrumentInterestRateEffectivePercentage
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Revolving credit facility | EAS                              
Long-Term Debt Obligations                              
Borrowing capacity 2,500,000us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ dei_LegalEntityAxis
= us-gaap_SubsidiariesMember
              2,500,000us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ dei_LegalEntityAxis
= us-gaap_SubsidiariesMember
           
Outstanding borrowings 0us-gaap_LineOfCredit
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ dei_LegalEntityAxis
= us-gaap_SubsidiariesMember
              0us-gaap_LineOfCredit
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ dei_LegalEntityAxis
= us-gaap_SubsidiariesMember
           
Credit available         2,500,000us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ dei_LegalEntityAxis
= us-gaap_SubsidiariesMember
        2,500,000us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ dei_LegalEntityAxis
= us-gaap_SubsidiariesMember
         
Other disclosures                              
Weighted average interest rate (as a percent)         2.70%us-gaap_DebtWeightedAverageInterestRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ dei_LegalEntityAxis
= us-gaap_SubsidiariesMember
        2.70%us-gaap_DebtWeightedAverageInterestRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ dei_LegalEntityAxis
= us-gaap_SubsidiariesMember
         
Revolving credit facility | Actual                              
Principal financial covenants                              
Fixed charge coverage ratio 18.90fix_DebtInstrumentCovenantFixedChargeCoverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioActualMember
              18.90fix_DebtInstrumentCovenantFixedChargeCoverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioActualMember
           
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 0.75                              
Additional per annum interest margin added under:                              
Letter of credit fees (as a percent)                 1.25%fix_LetterOfCreditFeesPercentage
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeOneMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Commitment fees payable on unused portion of the facility (as a percent)                 0.20%us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeOneMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 0.75 to 1.50                              
Additional per annum interest margin added under:                              
Letter of credit fees (as a percent)                 1.50%fix_LetterOfCreditFeesPercentage
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeTwoMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Commitment fees payable on unused portion of the facility (as a percent)                 0.25%us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeTwoMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.50 to 2.25                              
Additional per annum interest margin added under:                              
Letter of credit fees (as a percent)                 1.75%fix_LetterOfCreditFeesPercentage
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeThreeMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Commitment fees payable on unused portion of the facility (as a percent)                 0.30%us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeThreeMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Revolving credit facility | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.25 or greater                              
Additional per annum interest margin added under:                              
Letter of credit fees (as a percent)                 2.00%fix_LetterOfCreditFeesPercentage
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeFourMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Commitment fees payable on unused portion of the facility (as a percent)                 0.35%us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeFourMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
           
Revolving credit facility | Minimum | Covenant Requirement                              
Principal financial covenants                              
Net leverage ratio used as basis for other restrictions 2.00fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementScenarioAxis
= fix_ScenarioCovenantRequirementMember
              2.00fix_DebtInstrumentCovenantOtherRestrictionsNetLeverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementScenarioAxis
= fix_ScenarioCovenantRequirementMember
           
Revolving credit facility | Minimum | Actual                              
Principal financial covenants                              
Fixed charge coverage ratio 2.00fix_DebtInstrumentCovenantFixedChargeCoverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioActualMember
              2.00fix_DebtInstrumentCovenantFixedChargeCoverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioActualMember
           
Revolving credit facility | Maximum                              
Long-Term Debt Obligations                              
Credit available 222,400,000us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
              222,400,000us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
           
Principal financial covenants                              
Permitted amount of acquisitions per transaction 25,000,000fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
              25,000,000fix_DebtInstrumentCovenantOtherRestrictionsPermittedAcquisitionAmountPerTransaction
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
           
Aggregate purchase price of current acquisition and acquisitions in the preceding 12 month period for determining permitted amount of acquisition per transaction 60,000,000fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
              60,000,000fix_DebtInstrumentCovenantOtherRestrictionsAggregatePurchasePriceOfAcquisitions
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
           
Revolving credit facility | Maximum | Through December 31, 2015                              
Principal financial covenants                              
Leverage ratio 2.75fix_DebtInstrumentCovenantLeverageRatio
/ fix_DebtCovenantEffectiveDateAxis
= fix_January012014ThroughDecember312015Member
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
              2.75fix_DebtInstrumentCovenantLeverageRatio
/ fix_DebtCovenantEffectiveDateAxis
= fix_January012014ThroughDecember312015Member
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
           
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.50fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementScenarioAxis
= fix_ScenarioCovenantRequirementMember
              1.50fix_DebtInstrumentCovenantNetLeverageRatioUsedToDetermineExclusionOfStockRepurchasesAndDividendPaymentsForCalculatingFixedChargeCoverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementScenarioAxis
= fix_ScenarioCovenantRequirementMember
           
Revolving credit facility | Maximum | Actual                              
Principal financial covenants                              
Amount of stock repurchases to maintain maximum net leverage ratio                 25,000,000fix_DebtInstrumentCovenantAmountOfStockRepurchasesToMaintainMaximumNetLeverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioActualMember
           
Net leverage ratio after giving effect to stock repurchases for calculation of the fixed charge coverage ratio 1.50fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioActualMember
              1.50fix_DebtInstrumentCovenantNetLeverageRatioAfterGivingEffectToStockRepurchasesForCalculatingFixedChargeCoverageRatio
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioActualMember
           
Revolving credit facility | Base rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 0.75                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 0.25%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeOneMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 0.25%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeOneMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Revolving credit facility | Base rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 0.75 to 1.50                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 0.50%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeTwoMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 0.50%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeTwoMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Revolving credit facility | Base rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.50 to 2.25                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 0.75%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeThreeMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 0.75%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeThreeMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Revolving credit facility | Base rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.25 or greater                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 1.00%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeFourMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 1.00%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeFourMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Revolving credit facility | Base rate | Federal Funds Rate                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 0.50%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateFederalFundsRateMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Market rate (as a percent) 0.63%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateFederalFundsRateMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
              0.63%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateFederalFundsRateMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 0.50%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateFederalFundsRateMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Revolving credit facility | Base rate | Wells Fargo Bank, N.A. Prime Rate                              
Market rates relating to interest options                              
Market rate (as a percent) 3.25%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
              3.25%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateWellsFargoBankNAPrimeRateMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Revolving credit facility | Base rate | One-month LIBOR                              
Market rates relating to interest options                              
Variable rate basis                 One-month LIBOR            
Interest rate margin (as a percent)                 1.00%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateOneMonthLIBORMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Market rate (as a percent) 1.17%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateOneMonthLIBORMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
              1.17%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateOneMonthLIBORMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Additional per annum interest margin added under:                              
Variable rate basis                 One-month LIBOR            
Additional per annum interest margin (as a percent)                 1.00%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateOneMonthLIBORMember
/ us-gaap_VariableRateAxis
= fix_DebtInstrumentVariableRateBaseRateMember
           
Revolving credit facility | Base rate | Six-month LIBOR                              
Market rates relating to interest options                              
Variable rate basis                 Six-month LIBOR            
Additional per annum interest margin added under:                              
Variable rate basis                 Six-month LIBOR            
Revolving credit facility | Eurodollar rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: Less than 0.75                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 1.25%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeOneMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 1.25%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeOneMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Revolving credit facility | Eurodollar rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 0.75 to 1.50                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 1.50%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeTwoMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 1.50%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeTwoMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Revolving credit facility | Eurodollar rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 1.50 to 2.25                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 1.75%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeThreeMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 1.75%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeThreeMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Revolving credit facility | Eurodollar rate | Consolidated Total Indebtedness to Credit Facility Adjusted EBITDA: 2.25 or greater                              
Market rates relating to interest options                              
Interest rate margin (as a percent)                 2.00%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeFourMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Additional per annum interest margin added under:                              
Additional per annum interest margin (as a percent)                 2.00%us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
/ fix_DebtCovenantRatioAxis
= fix_DebtCovenantRatioRangeFourMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Revolving credit facility | Eurodollar rate | One-month LIBOR                              
Market rates relating to interest options                              
Market rate (as a percent) 0.17%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateOneMonthLIBORMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
              0.17%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateOneMonthLIBORMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Revolving credit facility | Eurodollar rate | Six-month LIBOR                              
Market rates relating to interest options                              
Market rate (as a percent) 0.36%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateSixMonthLIBORMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
              0.36%fix_DebtInstrumentMarketRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_RevolvingCreditFacilityMember
/ fix_DebtInstrumentVariableRateSecondaryClassificationAxis
= fix_DebtInstrumentVariableRateSixMonthLIBORMember
/ us-gaap_VariableRateAxis
= us-gaap_EurodollarMember
           
Other debt | Dyna Ten                              
Other disclosures                              
Capital lease obligation pertaining to acquisition in northern Texas 800,000us-gaap_CapitalLeaseObligations
/ us-gaap_BusinessAcquisitionAxis
= fix_DynaTenCorporationMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_NotesPayableOtherPayablesMember
              800,000us-gaap_CapitalLeaseObligations
/ us-gaap_BusinessAcquisitionAxis
= fix_DynaTenCorporationMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_NotesPayableOtherPayablesMember
          700,000us-gaap_CapitalLeaseObligations
/ us-gaap_BusinessAcquisitionAxis
= fix_DynaTenCorporationMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_NotesPayableOtherPayablesMember
Current portion of capital lease obligations 300,000us-gaap_CapitalLeaseObligationsCurrent
/ us-gaap_BusinessAcquisitionAxis
= fix_DynaTenCorporationMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_NotesPayableOtherPayablesMember
              300,000us-gaap_CapitalLeaseObligationsCurrent
/ us-gaap_BusinessAcquisitionAxis
= fix_DynaTenCorporationMember
/ us-gaap_DebtInstrumentAxis
= us-gaap_NotesPayableOtherPayablesMember
           
Notes to former owners                              
Long-Term Debt Obligations                              
Outstanding borrowings 1,000,000us-gaap_LineOfCredit
/ us-gaap_DebtInstrumentAxis
= us-gaap_SubordinatedDebtMember
              1,000,000us-gaap_LineOfCredit
/ us-gaap_DebtInstrumentAxis
= us-gaap_SubordinatedDebtMember
           
Additional per annum interest margin added under:                              
Payments of debt                       $ 2,000,000us-gaap_RepaymentsOfLongTermDebt
/ us-gaap_DebtInstrumentAxis
= us-gaap_SubordinatedDebtMember
     
Other disclosures                              
Weighted average interest rate (as a percent) 2.50%us-gaap_DebtWeightedAverageInterestRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_SubordinatedDebtMember
  3.30%us-gaap_DebtWeightedAverageInterestRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_SubordinatedDebtMember
          2.50%us-gaap_DebtWeightedAverageInterestRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_SubordinatedDebtMember
    3.30%us-gaap_DebtWeightedAverageInterestRate
/ us-gaap_DebtInstrumentAxis
= us-gaap_SubordinatedDebtMember