XML 66 R52.htm IDEA: XBRL DOCUMENT
v3.20.4

Acquisitions - Contingent Earn-out Obligation (Details) - USD ($) $ in Thousands |  | 1 Months Ended | 3 Months Ended | 9 Months Ended | 12 Months Ended
--- | --- | --- | --- | --- | ---
Apr. 01, 2020 | Dec. 31, 2020 | Dec. 31, 2020 | Sep. 30, 2020 | Jun. 30, 2020 | Mar. 31, 2020 | Dec. 31, 2019 | Sep. 30, 2019 | Jun. 30, 2019 | Mar. 31, 2019 | Dec. 31, 2020 | Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Revenues |  |  | $ 698,961 | $ 714,099 | $ 743,468 | $ 700,131 | $ 719,584 | $ 706,918 | $ 650,302 | $ 538,473 |  | $ 2,856,659 | $ 2,615,277 | $ 2,182,879
Federal |  |  |  |  |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Net operating loss carryforwards | $ 53,200 | $ 44,900 | 44,900 |  |  |  |  |  |  |  | $ 44,900 | 44,900 |  |
State |  |  |  |  |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Net operating loss carryforwards | $ 6,500 | $ 46,200 | 46,200 |  |  |  |  |  |  |  | 46,200 | 46,200 |  |
TAS Energy |  |  |  |  |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Revenues |  |  |  |  |  |  |  |  |  |  | 106,400 |  |  |
Contingent earn-out period | 27 months |  |  |  |  |  |  |  |  |  |  |  |  |
Contingent earn-out estimated milestone payment, minimum | $ 1,000 |  |  |  |  |  |  |  |  |  |  |  |  |
Contingent earn-out estimated milestone payment, maximum | $ 8,000 |  |  |  |  |  |  |  |  |  |  |  |  |
Cash flow discount rate | 17.70% |  |  |  |  |  |  |  |  |  |  |  |  |
TAS Energy | Minimum |  |  |  |  |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Cash flow discount rate | 15.00% |  |  |  |  |  |  |  |  |  |  |  |  |
TAS Energy | Maximum |  |  |  |  |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Cash flow discount rate | 23.50% |  |  |  |  |  |  |  |  |  |  |  |  |
T E C Industrial Construction and Maintenance |  |  |  |  |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Contingent earn-out period |  | 3 years |  |  |  |  |  |  |  |  |  |  |  |
Contingent earn-out estimated milestone payment, minimum |  | $ 1,000 | 1,000 |  |  |  |  |  |  |  | 1,000 | 1,000 |  |
Contingent earn-out estimated milestone payment, maximum |  | $ 5,000 | $ 5,000 |  |  |  |  |  |  |  | $ 5,000 | $ 5,000 |  |
Cash flow discount rate |  | 12.90% |  |  |  |  |  |  |  |  |  |  |  |
T E C Industrial Construction and Maintenance | Minimum |  |  |  |  |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Cash flow discount rate |  | 14.00% |  |  |  |  |  |  |  |  |  |  |  |
T E C Industrial Construction and Maintenance | Maximum |  |  |  |  |  |  |  |  |  |  |  |  |  |
Business Acquisition [Line Items] |  |  |  |  |  |  |  |  |  |  |  |  |  |
Cash flow discount rate |  | 15.00% |  |  |  |  |  |  |  |  |  |  |  |

X
- Definition Business Combination Contingent Consideration Arrangements Earn Out Period. + References No definition available. + Details
Name: | fix_BusinessCombinationContingentConsiderationArrangementsEarnOutPeriod
Namespace Prefix: | fix_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of probable cash flows discount rate. + References No definition available. + Details
Name: | fix_CashFlowDiscountRate
Namespace Prefix: | fix_
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_BusinessAcquisitionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 805 -SubTopic 30 -Section 50 -Paragraph 1 -Subparagraph (c)(3) -URI http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479 + Details
Name: | us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition For contingent consideration arrangements and indemnification assets recognized in connection with a business combination, this element represents an estimate of the low-end of the potential range (undiscounted) of the consideration which may be paid. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 805 -SubTopic 30 -Section 50 -Paragraph 1 -Subparagraph (c)(3) -URI http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479 + Details
Name: | us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 3 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319 + Details
Name: | us-gaap_OperatingLossCarryforwards
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss). + 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 (a) -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 323 -SubTopic 10 -Section 50 -Paragraph 3 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 28 -Subparagraph (f) -URI http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 32 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 32 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 40 -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 41 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 42 -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599 Reference 11: 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(g)(1)(ii)) -URI http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 235 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-05(b)(2)) -URI http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(1)) -URI http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227 + Details
Name: | us-gaap_Revenues
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

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

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