XML 81 R67.htm IDEA: XBRL DOCUMENT
v3.22.4

Commitments and Contingencies - Other and Bonds (Details) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2022 USD ($)
Commitments and Contingencies |
Gain related to settlement agreements | $ 5.1
Surety | Minimum |
Surety |
Percentage of business which has required bonds | 10.00%
Surety | Maximum |
Surety |
Percentage of business which has required bonds | 20.00%

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

X
- Definition Represents the percentage of business which has required bonds. + References No definition available. + Details
Name: | fix_PercentageOfBusinessWhichHasRequiredBonds
Namespace Prefix: | fix_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of gain (loss) recognized in settlement of litigation and insurance claims. Excludes claims within an insurance entity's normal claims settlement process. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 450 -SubTopic 20 -Section 50 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349 + Details
Name: | us-gaap_GainLossRelatedToLitigationSettlement
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_LossContingenciesLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_SuretyBondMember
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: |