XML 62 R46.htm IDEA: XBRL DOCUMENT
v3.25.4

Revenue from Contracts with Customers - Revenue Recognition (Details) - USD ($) $ in Millions | 12 Months Ended |
--- | --- | ---
Dec. 31, 2025 | Dec. 31, 2024
Contracts in progress |  |
Period during which progress billings or contract price can be withheld until completion of work | 6 months |
Retention receivable | $ 506.5 | $ 329.2
Retention payable | $ 83.1 | $ 50.9
Revenue, Performance Obligation, Description of Payment Terms | We typically invoice our customers with payment terms of net due in 30 days |
Receivable payment terms (in days) | 30 days |
Minimum |  |
Contracts in progress |  |
Receivable payment terms (in days) | 45 days |
Payments received term (in days) | 30 days |
Maximum |  |
Contracts in progress |  |
Receivable payment terms (in days) | 60 days |
Payments received term (in days) | 90 days |

X
- Definition Amounts owed to vendors and subcontractors that have been withheld because of retainage provisions in a contract to be paid. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References No definition available. + Details
Name: | fix_ConstructionContractorRetainagePayable
Namespace Prefix: | fix_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The number of days in which the entity receives payment from customers. + References No definition available. + Details
Name: | fix_PaymentsReceivedTerm
Namespace Prefix: | fix_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition The payment terms for receivables in days. + References No definition available. + Details
Name: | fix_ReceivableDueTerm
Namespace Prefix: | fix_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the period during which progress billings or the contract price can be withheld by customers until after the completion of work on the project. + References No definition available. + Details
Name: | fix_RetentionProvisionsConstructionContractsHoldingPeriod
Namespace Prefix: | fix_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 910 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482546/910-10-50-7 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(3)(c)(1)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_ConstructionContractorReceivableRetainage
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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

X
- Definition Description of payment terms in contract with customer. Includes, but is not limited to, timing of payment, existence of financing component, variability of consideration and constraint on variable consideration. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 + Details
Name: | us-gaap_RevenuePerformanceObligationDescriptionOfPaymentTerms
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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: |