XML 79 R72.htm IDEA: XBRL DOCUMENT
v3.19.3.a.u2

Stock-Based Compensation - Stock Option Plan Activity (Details) shares in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2019 $ / shares shares
$11.21 - $15.00 |
Stock-Based Compensation |
Exercise price, low end of range (in dollars per share) | $ 11.21
Exercise price, high end of range (in dollars per share) | 15.00
$15.01 - $35.00 |
Stock-Based Compensation |
Exercise price, low end of range (in dollars per share) | 15.01
Exercise price, high end of range (in dollars per share) | 35.00
$35.01 - $42.50 |
Stock-Based Compensation |
Exercise price, low end of range (in dollars per share) | 35.01
Exercise price, high end of range (in dollars per share) | 42.50
$11.21 - $42.50 |
Stock-Based Compensation |
Exercise price, low end of range (in dollars per share) | 11.21
Exercise price, high end of range (in dollars per share) | $ 42.50
Stock Options | $11.21 - $15.00 |
Options Outstanding |
Number of Shares | shares | 45
Weighted-Average Remaining Contractual Life | 2 years 10 months 24 days
Weighted-Average Exercise Price (in dollars per share) | $ 13.60
Options Exercisable |
Number of Shares | shares | 45
Weighted-Average Exercise Price (in dollars per share) | $ 13.60
Stock Options | $15.01 - $35.00 |
Options Outstanding |
Number of Shares | shares | 200
Weighted-Average Remaining Contractual Life | 5 years 1 month 6 days
Weighted-Average Exercise Price (in dollars per share) | $ 21.47
Options Exercisable |
Number of Shares | shares | 200
Weighted-Average Exercise Price (in dollars per share) | $ 21.47
Stock Options | $35.01 - $42.50 |
Options Outstanding |
Number of Shares | shares | 137
Weighted-Average Remaining Contractual Life | 7 years 8 months 12 days
Weighted-Average Exercise Price (in dollars per share) | $ 39.67
Options Exercisable |
Number of Shares | shares | 56
Weighted-Average Exercise Price (in dollars per share) | $ 38.51
Stock Options | $11.21 - $42.50 |
Options Outstanding |
Number of Shares | shares | 382
Weighted-Average Remaining Contractual Life | 5 years 9 months 18 days
Weighted-Average Exercise Price (in dollars per share) | $ 27.06
Options Exercisable |
Number of Shares | shares | 301
Weighted-Average Exercise Price (in dollars per share) | $ 23.45

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

X
- References No definition available. + Details
Name: | fix_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsAbstract
Namespace Prefix: | fix_
Data Type: | xbrli:stringItemType
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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (g) -URI http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(iii) -URI http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(i)-(ii) -URI http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (g) -URI http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iii) -URI http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901 + Details
Name: | us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(i)-(ii) -URI http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901 + Details
Name: | us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (e)(1) -URI http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901 + Details
Name: | us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=fix_ExercisePriceRangeFromDollars11.21To15.00Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=fix_ExercisePriceRangeFromDollars15.01To35.00Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=fix_ExercisePriceRangeFromDollars35.01To42.50Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=fix_ExercisePriceRangeFromDollars11.21To42.50Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=fix_EmployeeAndNonemployeeStockOptionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |