XML 83 R69.htm IDEA: XBRL DOCUMENT
v3.22.4

Stockholders' Equity - Incentive and Other (Details) - USD ($) $ / shares in Units, $ in Thousands, shares in Millions | 12 Months Ended | 189 Months Ended |  |  |
--- | --- | --- | --- | --- | ---
Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | Dec. 31, 2022 | May 17, 2022 | May 31, 2017 | Mar. 29, 2007
Share Repurchase Program |  |  |  |  |  |  |
Share repurchase | $ 38,216 | $ 27,054 | $ 30,120 |  |  |  |
2017 Omnibus Incentive Plan |  |  |  |  |  |  |
Stockholders' Equity |  |  |  |  |  |  |
Number of shares authorized and reserved for issuance |  |  |  |  |  | 2.9 |
Number of shares available for issuance | 1.6 |  |  | 1.6 |  |  |
Stock Repurchase Program 2007 |  |  |  |  |  |  |
Share Repurchase Program |  |  |  |  |  |  |
Number of shares of outstanding common stock authorized to be acquired under a stock repurchase program | 10.9 |  |  | 10.9 |  |  | 1.0
Additional number of shares authorized for repurchase |  |  |  |  | 0.7 |  |
Share repurchase (in shares) | 0.4 |  |  | 10.1 |  |  |
Average price (in dollars per share) | $ 86.45 |  |  | $ 24.52 |  |  |
Share repurchase | $ 38,200 |  |  |  |  |  |

X
- Definition The additional number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan + References No definition available. + Details
Name: | fix_StockRepurchaseProgramAdditionalNumberOfSharesAuthorizedToBeRepurchased
Namespace Prefix: | fix_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

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

X
- Definition The cash outflow to reacquire common stock during the period. + 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 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585 + Details
Name: | us-gaap_PaymentsForRepurchaseOfCommonStock
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares authorized for issuance under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a)(3) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable. + 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 -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Total cost of shares repurchased divided by the total number of shares repurchased. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655 + Details
Name: | us-gaap_TreasuryStockAcquiredAverageCostPerShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares that have been repurchased during the period and are being held in treasury. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section 50 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -URI https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770 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(29)) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_TreasuryStockSharesAcquired
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_PlanNameAxis=fix_OmnibusIncentivePlan2017Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PlanNameAxis=fix_StockRepurchaseProgram2007Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |