2021 Q4 Form 10-K Financial Statement

#000155837022001753 Filed on February 23, 2022

View on sec.gov

Income Statement

Concept 2021 Q4 2021 2020 Q4
Revenue $856.1M $3.074B $699.0M
YoY Change 22.48% 7.6% -2.87%
Cost Of Revenue $702.0M $2.510B $562.0M
YoY Change 24.91% 8.69% -4.26%
Gross Profit $154.1M $563.2M $137.0M
YoY Change 12.46% 2.97% 3.35%
Gross Profit Margin 18.0% 18.32% 19.6%
Selling, General & Admin $97.01M $376.3M $82.00M
YoY Change 18.31% 5.18% 1.86%
% of Gross Profit 62.97% 66.82% 59.85%
Research & Development
YoY Change
% of Gross Profit
Depreciation & Amortization $18.94M $28.44M $14.50M
YoY Change 30.65% 1.82% 9.85%
% of Gross Profit 12.3% 5.05% 10.58%
Operating Expenses $105.3M $376.3M $88.90M
YoY Change 18.4% 5.18% 2.66%
Operating Profit $48.81M $188.4M $48.10M
YoY Change 1.48% -1.16% 4.65%
Interest Expense $1.561M $6.196M $5.800M
YoY Change -73.09% -26.11% -514.29%
% of Operating Profit 3.2% 3.29% 12.06%
Other Income/Expense, Net $76.00K $1.836M $0.00
YoY Change 106.52%
Pretax Income $50.97M $190.3M $54.10M
YoY Change -5.79% -0.66% 19.96%
Income Tax $13.37M $46.93M $11.30M
% Of Pretax Income 26.24% 24.66% 20.89%
Net Earnings $37.60M $143.3M $42.84M
YoY Change -12.24% -4.52% 25.81%
Net Earnings / Revenue 4.39% 4.66% 6.13%
Basic Earnings Per Share $3.95 $1.18
Diluted Earnings Per Share $1.036M $3.93 $1.17
COMMON SHARES
Basic Shares Outstanding 36.04M 36.29M 36.39M
Diluted Shares Outstanding 36.45M

Balance Sheet

Concept 2021 Q4 2021 2020 Q4
SHORT-TERM ASSETS
Cash & Short-Term Investments $58.78M $58.78M $54.90M
YoY Change 7.06% 7.06% 8.07%
Cash & Equivalents $58.78M $58.78M $54.90M
Short-Term Investments
Other Short-Term Assets $23.70M $23.70M $15.50M
YoY Change 52.93% 52.93% 7.64%
Inventory $21.85M $21.85M $13.47M
Prepaid Expenses
Receivables $865.5M $865.5M $683.8M
Other Receivables $57.49M $57.49M $44.20M
Total Short-Term Assets $1.027B $1.027B $811.9M
YoY Change 26.54% 26.53% 2.74%
LONG-TERM ASSETS
Property, Plant & Equipment $128.6M $253.3M $117.2M
YoY Change 9.68% 19.54% 6.75%
Goodwill $592.1M $464.4M
YoY Change 27.5% 39.69%
Intangibles $304.8M $231.8M
YoY Change 31.48% 44.9%
Long-Term Investments
YoY Change
Other Assets $8.683M $31.59M $7.970M
YoY Change 8.95% -15.54% 20.48%
Total Long-Term Assets $1.182B $1.182B $945.5M
YoY Change 24.99% 24.99% 32.27%
TOTAL ASSETS
Total Short-Term Assets $1.027B $1.027B $811.9M
Total Long-Term Assets $1.182B $1.182B $945.5M
Total Assets $2.209B $2.209B $1.757B
YoY Change 25.71% 25.7% 16.77%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $254.8M $254.8M $204.1M
YoY Change 24.81% 24.83% 4.05%
Accrued Expenses $171.2M $184.1M $187.6M
YoY Change -8.72% -9.05% 19.87%
Deferred Revenue $307.4M $226.2M
YoY Change 35.87% 35.54%
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due $2.788M $2.788M
YoY Change
Total Short-Term Liabilities $836.6M $836.6M $692.9M
YoY Change 20.73% 20.73% 13.97%
LONG-TERM LIABILITIES
Long-Term Debt $385.2M $385.2M $235.7M
YoY Change 63.42% 63.45% 14.81%
Other Long-Term Liabilities $72.21M $179.9M $50.37M
YoY Change 43.34% 37.33% 56.1%
Total Long-Term Liabilities $457.4M $565.1M $286.1M
YoY Change 59.89% 54.12% 20.42%
TOTAL LIABILITIES
Total Short-Term Liabilities $836.6M $836.6M $692.9M
Total Long-Term Liabilities $457.4M $565.1M $286.1M
Total Liabilities $1.403B $1.403B $1.061B
YoY Change 32.29% 32.29% 15.35%
SHAREHOLDERS EQUITY
Retained Earnings $628.8M $502.8M
YoY Change 25.05% 36.38%
Common Stock $327.5M $322.9M
YoY Change 1.43% 0.71%
Preferred Stock
YoY Change
Treasury Stock (at cost) $150.6M $129.2M
YoY Change 16.51% 24.32%
Treasury Stock Shares $5.032M $4.935M
Shareholders Equity $805.7M $805.7M $696.4M
YoY Change
Total Liabilities & Shareholders Equity $2.209B $2.209B $1.757B
YoY Change 25.71% 25.7% 16.77%

Cashflow Statement

Concept 2021 Q4 2021 2020 Q4
OPERATING ACTIVITIES
Net Income $37.60M $143.3M $42.84M
YoY Change -12.24% -4.52% 25.81%
Depreciation, Depletion And Amortization $18.94M $28.44M $14.50M
YoY Change 30.65% 1.82% 9.85%
Cash From Operating Activities $27.50M $180.2M $70.10M
YoY Change -60.77% -37.12% 65.72%
INVESTING ACTIVITIES
Capital Expenditures -$6.466M $22.33M -$4.600M
YoY Change 40.57% -7.46% -50.0%
Acquisitions $227.5M
YoY Change 22.35%
Other Investing Activities -$120.7M -$224.4M -$72.60M
YoY Change 66.19% 22.15% -10471.43%
Cash From Investing Activities -$127.1M -$246.7M -$77.30M
YoY Change 64.45% 18.73% 820.24%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net $27.05M
YoY Change -10.18%
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities 90.68M 70.45M -8.500M
YoY Change -1166.76% -194.44% -63.83%
NET CHANGE
Cash From Operating Activities 27.50M 180.2M 70.10M
Cash From Investing Activities -127.1M -246.7M -77.30M
Cash From Financing Activities 90.68M 70.45M -8.500M
Net Change In Cash -8.945M 3.880M -15.70M
YoY Change -43.03% -5.55% -250.96%
FREE CASH FLOW
Cash From Operating Activities $27.50M $180.2M $70.10M
Capital Expenditures -$6.466M $22.33M -$4.600M
Free Cash Flow $33.96M $157.8M $74.70M
YoY Change -54.53% -39.85% 45.05%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2021 dei Entity File Number
EntityFileNumber
1-13011
CY2021Q4 us-gaap Common Stock Value
CommonStockValue
411000
CY2020Q4 us-gaap Common Stock Value
CommonStockValue
411000
CY2021Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
5032311
CY2020Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
4935186
CY2021Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2020Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2021Q4 us-gaap Preferred Stock Value
PreferredStockValue
CY2020Q4 us-gaap Preferred Stock Value
PreferredStockValue
CY2021 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
CY2019 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
CY2021 us-gaap Revenue Practical Expedient Remaining Performance Obligation
RevenuePracticalExpedientRemainingPerformanceObligation
true
CY2020Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2021Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2021 dei Entity Central Index Key
EntityCentralIndexKey
0001035983
CY2021 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2021
CY2021 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2021 dei Amendment Flag
AmendmentFlag
false
CY2020Q4 us-gaap Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2021-01-31#OtherLiabilitiesCurrent
CY2021Q4 us-gaap Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2021-01-31#OtherLiabilitiesCurrent
CY2019Q4 fix Gain Recorded As Reduction In Cost Of Services Expense
GainRecordedAsReductionInCostOfServicesExpense
3200000
CY2021Q4 us-gaap Finance Lease Liability Statement Of Financial Position Extensible List
FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2021-01-31#OtherLiabilities
CY2021 dei Document Type
DocumentType
10-K
CY2021 dei Document Annual Report
DocumentAnnualReport
true
CY2021 dei Document Period End Date
DocumentPeriodEndDate
2021-12-31
CY2021 dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
CY2021 dei Document Transition Report
DocumentTransitionReport
false
CY2021 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
3101000
CY2020 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
2270000
CY2019 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
2159000
CY2019 us-gaap Proceeds From Divestiture Of Businesses Net Of Cash Divested
ProceedsFromDivestitureOfBusinessesNetOfCashDivested
1611000
CY2021 dei Entity Shell Company
EntityShellCompany
false
CY2021 dei Entity Registrant Name
EntityRegistrantName
Comfort Systems USA, Inc.
CY2021 dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
DE
CY2021 dei Entity Tax Identification Number
EntityTaxIdentificationNumber
76-0526487
CY2021 dei Entity Address Address Line1
EntityAddressAddressLine1
675 Bering Drive
CY2021 dei Entity Address Address Line2
EntityAddressAddressLine2
Suite 400
CY2021 dei Entity Address City Or Town
EntityAddressCityOrTown
Houston
CY2021 dei Entity Address State Or Province
EntityAddressStateOrProvince
TX
CY2021 dei Entity Address Postal Zip Code
EntityAddressPostalZipCode
77057
CY2021 dei City Area Code
CityAreaCode
713
CY2021 dei Local Phone Number
LocalPhoneNumber
830-9600
CY2021 dei Security12b Title
Security12bTitle
Common Stock, $.01 par value
CY2021 dei Trading Symbol
TradingSymbol
FIX
CY2021 dei Security Exchange Name
SecurityExchangeName
NYSE
CY2021 dei Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
Yes
CY2021 dei Entity Voluntary Filers
EntityVoluntaryFilers
No
CY2021 dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
CY2021 dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2021 dei Entity Filer Category
EntityFilerCategory
Large Accelerated Filer
CY2021 dei Entity Small Business
EntitySmallBusiness
false
CY2021 dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
CY2021 dei Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
true
CY2021Q2 dei Entity Public Float
EntityPublicFloat
2790000000
CY2022Q1 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
35956839
CY2021 dei Auditor Firm
AuditorFirmId
34
CY2020 dei Auditor Firm
AuditorFirmId
42
CY2021 dei Auditor Name
AuditorName
Deloitte & Touche LLP
CY2021 dei Auditor Location
AuditorLocation
Houston, Texas
CY2020 dei Auditor Name
AuditorName
Ernst & Young LLP
CY2020 dei Auditor Location
AuditorLocation
Houston, Texas
CY2021Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
58776000
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
54896000
CY2021Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
8808000
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
9087000
CY2021Q4 us-gaap Billed Contract Receivables
BilledContractReceivables
773716000
CY2020Q4 us-gaap Billed Contract Receivables
BilledContractReceivables
619544000
CY2021Q4 fix Unbilled Accounts Receivable Allowance For Credit Loss
UnbilledAccountsReceivableAllowanceForCreditLoss
715000
CY2020Q4 fix Unbilled Accounts Receivable Allowance For Credit Loss
UnbilledAccountsReceivableAllowanceForCreditLoss
784000
CY2021Q4 us-gaap Unbilled Contracts Receivable
UnbilledContractsReceivable
61881000
CY2020Q4 us-gaap Unbilled Contracts Receivable
UnbilledContractsReceivable
45596000
CY2021Q4 us-gaap Allowance For Doubtful Other Receivables Current
AllowanceForDoubtfulOtherReceivablesCurrent
503000
CY2020Q4 us-gaap Allowance For Doubtful Other Receivables Current
AllowanceForDoubtfulOtherReceivablesCurrent
759000
CY2021Q4 us-gaap Nontrade Receivables Current
NontradeReceivablesCurrent
57491000
CY2020Q4 us-gaap Nontrade Receivables Current
NontradeReceivablesCurrent
44212000
CY2021Q4 us-gaap Inventory Net
InventoryNet
21853000
CY2020Q4 us-gaap Inventory Net
InventoryNet
13472000
CY2021Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
23704000
CY2020Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
15510000
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
117206000
CY2021Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
124756000
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
94727000
CY2021Q4 us-gaap Goodwill
Goodwill
592114000
CY2020Q4 us-gaap Goodwill
Goodwill
464392000
CY2021Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
304781000
CY2020Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
231807000
CY2021Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
22905000
CY2020Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
29401000
CY2021Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
8683000
CY2020Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
7970000
CY2021Q4 us-gaap Assets
Assets
2209114000
CY2020Q4 us-gaap Assets
Assets
1757355000
CY2021Q4 fix Costs In Excess Of Billings Allowance For Credit Losses
CostsInExcessOfBillingsAllowanceForCreditLosses
84000
CY2020Q4 fix Costs In Excess Of Billings Allowance For Credit Losses
CostsInExcessOfBillingsAllowanceForCreditLosses
79000
CY2021Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
29900000
CY2020Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
18622000
CY2021Q4 us-gaap Assets Current
AssetsCurrent
1027321000
CY2020Q4 us-gaap Assets Current
AssetsCurrent
811852000
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
128554000
CY2021Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
2788000
CY2021Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
254788000
CY2020Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
204145000
CY2021Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
129971000
CY2020Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
121864000
CY2021Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
307380000
CY2020Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
226237000
CY2021Q4 us-gaap Self Insurance Reserve Current
SelfInsuranceReserveCurrent
22227000
CY2020Q4 us-gaap Self Insurance Reserve Current
SelfInsuranceReserveCurrent
49166000
CY2021Q4 us-gaap Other Liabilities Current
OtherLiabilitiesCurrent
119400000
CY2020Q4 us-gaap Other Liabilities Current
OtherLiabilitiesCurrent
91492000
CY2021Q4 us-gaap Liabilities Current
LiabilitiesCurrent
836554000
CY2020Q4 us-gaap Liabilities Current
LiabilitiesCurrent
692904000
CY2021Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
385242000
CY2020Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
235733000
CY2021Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
107701000
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
80576000
CY2021Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1745000
CY2020Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1339000
CY2021Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
72206000
CY2020Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
50374000
CY2021Q4 us-gaap Liabilities
Liabilities
1403448000
CY2020Q4 us-gaap Liabilities
Liabilities
1060926000
CY2020Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2021Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2020Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
5000000
CY2021Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
5000000
CY2020Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2021Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2021Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
102969912
CY2021Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
102969912
CY2021Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
41123365
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
41123365
CY2019 us-gaap Gross Profit
GrossProfit
501943000
CY2021Q4 us-gaap Treasury Stock Value
TreasuryStockValue
150580000
CY2020Q4 us-gaap Treasury Stock Value
TreasuryStockValue
129243000
CY2021Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
327061000
CY2020Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
322451000
CY2021Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
628774000
CY2020Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
502810000
CY2021Q4 us-gaap Stockholders Equity
StockholdersEquity
805666000
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
696429000
CY2021Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
2209114000
CY2020Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
1757355000
CY2021 us-gaap Revenues
Revenues
3073636000
CY2020 us-gaap Revenues
Revenues
2856659000
CY2019 us-gaap Revenues
Revenues
2615277000
CY2021 us-gaap Cost Of Revenue
CostOfRevenue
2510429000
CY2020 us-gaap Cost Of Revenue
CostOfRevenue
2309676000
CY2019 us-gaap Cost Of Revenue
CostOfRevenue
2113334000
CY2021 us-gaap Gross Profit
GrossProfit
563207000
CY2020 us-gaap Gross Profit
GrossProfit
546983000
CY2021 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
376309000
CY2020 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
357777000
CY2019 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
340005000
CY2021 us-gaap Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
1540000
CY2020 us-gaap Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
1445000
CY2019 us-gaap Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
1701000
CY2021 us-gaap Operating Income Loss
OperatingIncomeLoss
188438000
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
190651000
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
163639000
CY2021 us-gaap Investment Income Interest
InvestmentIncomeInterest
24000
CY2020 us-gaap Investment Income Interest
InvestmentIncomeInterest
103000
CY2019 us-gaap Investment Income Interest
InvestmentIncomeInterest
224000
CY2021 us-gaap Interest Expense
InterestExpense
6196000
CY2020 us-gaap Interest Expense
InterestExpense
8385000
CY2019 us-gaap Interest Expense
InterestExpense
9317000
CY2021 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-7820000
CY2020 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-9119000
CY2019 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
2991000
CY2021 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
188000
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
52000
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
187000
CY2021 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
1836000
CY2020 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
889000
CY2019 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-11897000
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
190274000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
191540000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
151742000
CY2021 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
46926000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
41401000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
37418000
CY2021 us-gaap Net Income Loss
NetIncomeLoss
143348000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
150139000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
114324000
CY2021 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
3.95
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
4.11
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
3.10
CY2021 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
3.93
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
4.09
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
3.08
CY2021 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36285000
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36542000
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36854000
CY2021 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
36450000
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
36738000
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
37131000
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
498047000
CY2019 us-gaap Profit Loss
ProfitLoss
114324000
CY2019 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
2350000
CY2019 fix Stock Issued During Period Value Restricted And Performance Stock Award Gross
StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
2006000
CY2019 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
1498000
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
4168000
CY2019 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
0.395
CY2019 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
14543000
CY2019 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
19550000
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
585304000
CY2020 us-gaap Profit Loss
ProfitLoss
150139000
CY2020 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
2144000
CY2020 fix Stock Issued During Period Value Restricted And Performance Stock Award Gross
StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
1855000
CY2020 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
1076000
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
4197000
CY2020 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
0.425
CY2020 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
15499000
CY2020 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
30120000
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
696429000
CY2021 us-gaap Profit Loss
ProfitLoss
143348000
CY2021 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
5634000
CY2021 fix Stock Issued During Period Value Restricted And Performance Stock Award Gross
StockIssuedDuringPeriodValueRestrictedAndPerformanceStockAwardGross
2208000
CY2021 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
2363000
CY2021 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
4848000
CY2021 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
0.48
CY2021 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
17384000
CY2021 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
27054000
CY2021Q4 us-gaap Stockholders Equity
StockholdersEquity
805666000
CY2021 us-gaap Profit Loss
ProfitLoss
143348000
CY2020 us-gaap Profit Loss
ProfitLoss
150139000
CY2019 us-gaap Profit Loss
ProfitLoss
114324000
CY2021 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
40505000
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
286510000
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
142028000
CY2021 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
22330000
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
24131000
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
31750000
CY2020 us-gaap Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
808000
CY2019 us-gaap Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
-14751000
CY2021 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
180151000
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
32698000
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
27082000
CY2021 us-gaap Depreciation
Depreciation
28439000
CY2020 us-gaap Depreciation
Depreciation
27931000
CY2019 us-gaap Depreciation
Depreciation
24490000
CY2021 fix Change In Right Of Use Assets
ChangeInRightOfUseAssets
17592000
CY2020 fix Change In Right Of Use Assets
ChangeInRightOfUseAssets
16692000
CY2019 fix Change In Right Of Use Assets
ChangeInRightOfUseAssets
16887000
CY2021 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
-1452000
CY2020 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
5253000
CY2019 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
2978000
CY2021 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
6902000
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-7953000
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-4251000
CY2021 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
538000
CY2020 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
544000
CY2019 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
387000
CY2021 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
1540000
CY2020 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
1445000
CY2019 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
1701000
CY2021 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-7820000
CY2020 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-9119000
CY2019 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
2991000
CY2021 us-gaap Share Based Compensation
ShareBasedCompensation
10593000
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
6934000
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
5878000
CY2021 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
58046000
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-38486000
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
49508000
CY2021 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
5651000
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
1457000
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-2366000
CY2021 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
8623000
CY2020 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
4855000
CY2019 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
15519000
CY2021 us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
17271000
CY2020 us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
-2706000
CY2019 us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
4312000
CY2021 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
1174000
CY2020 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
1373000
CY2019 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
735000
CY2021 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
4004000
CY2020 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
11087000
CY2019 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
31046000
CY2021 us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
44620000
CY2020 us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
19434000
CY2019 us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
4376000
CY2021 us-gaap Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
-14813000
CY2021 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
227493000
CY2020 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
185941000
CY2019 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
196470000
CY2021 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-246722000
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-207802000
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-224450000
CY2021 us-gaap Proceeds From Long Term Lines Of Credit
ProceedsFromLongTermLinesOfCredit
275000000
CY2020 us-gaap Proceeds From Long Term Lines Of Credit
ProceedsFromLongTermLinesOfCredit
268000000
CY2019 us-gaap Proceeds From Long Term Lines Of Credit
ProceedsFromLongTermLinesOfCredit
356000000
CY2021 us-gaap Repayments Of Long Term Lines Of Credit
RepaymentsOfLongTermLinesOfCredit
125000000
CY2020 us-gaap Repayments Of Long Term Lines Of Credit
RepaymentsOfLongTermLinesOfCredit
226000000
CY2019 us-gaap Repayments Of Long Term Lines Of Credit
RepaymentsOfLongTermLinesOfCredit
228000000
CY2021 us-gaap Repayments Of Senior Debt
RepaymentsOfSeniorDebt
15000000
CY2020 us-gaap Repayments Of Senior Debt
RepaymentsOfSeniorDebt
15000000
CY2021 us-gaap Repayments Of Other Debt
RepaymentsOfOtherDebt
15696000
CY2020 us-gaap Repayments Of Other Debt
RepaymentsOfOtherDebt
46534000
CY2019 us-gaap Repayments Of Other Debt
RepaymentsOfOtherDebt
3784000
CY2021 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
3805000
CY2019 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
1405000
CY2021 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
17384000
CY2020 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
15499000
CY2019 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
14543000
CY2021 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
27054000
CY2020 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
30120000
CY2019 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
19550000
CY2021 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
2363000
CY2020 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
1076000
CY2019 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
1498000
CY2021 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
5634000
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
2144000
CY2019 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
2350000
CY2021 fix Deferred Acquisition Payments
DeferredAcquisitionPayments
400000
CY2020 fix Deferred Acquisition Payments
DeferredAcquisitionPayments
650000
CY2019 fix Deferred Acquisition Payments
DeferredAcquisitionPayments
637000
CY2021 us-gaap Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
3481000
CY2020 us-gaap Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
9865000
CY2019 us-gaap Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
1343000
CY2021 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
70451000
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-74600000
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
87590000
CY2021 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
3880000
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
4108000
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
5168000
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
54896000
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
50788000
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
45620000
CY2021Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
58776000
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
54896000
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
50788000
CY2021 us-gaap Nature Of Operations
NatureOfOperations
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">1. Business and Organization</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Comfort Systems USA, Inc., a Delaware corporation, provides comprehensive mechanical and electrical contracting services, which principally includes heating, ventilation and air conditioning (“HVAC”), plumbing, electrical, piping and controls, as well as off-site construction, monitoring and fire protection. We build, install, maintain, repair and replace mechanical, electrical and plumbing (“MEP”) systems throughout the United States. Approximately 46.3% of our consolidated 2021 revenue is attributable to installation of systems in newly constructed facilities, with the remaining 53.7% attributable to maintenance, repair and replacement services. The terms “Comfort Systems,” “we,” “us,” or the “Company,” refer to Comfort Systems USA, Inc. or Comfort Systems USA, Inc. and its consolidated subsidiaries, as appropriate in the context.</p>
CY2021 us-gaap Use Of Estimates
UseOfEstimates
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with generally accepted accounting principles requires the use of estimates and assumptions by management in determining the reported amounts of assets and liabilities, revenue and expenses and disclosures regarding contingent assets and liabilities. Actual results could differ from those estimates. The most significant estimates used in our financial statements affect revenue and cost recognition for construction contracts, self-insurance accruals, deferred tax assets, fair value accounting for acquisitions and the quantification of fair value for reporting units in connection with our goodwill impairment testing. </p>
CY2021 us-gaap Interest Paid Net
InterestPaidNet
6052000
CY2020 us-gaap Interest Paid Net
InterestPaidNet
7684000
CY2019 us-gaap Interest Paid Net
InterestPaidNet
8817000
CY2021 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
52204000
CY2020 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
51286000
CY2019 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
45288000
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
10709000
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
6907000
CY2020 us-gaap Accounts Receivable Change In Method Credit Loss Expense Reversal
AccountsReceivableChangeInMethodCreditLossExpenseReversal
695000
CY2021 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
-1452000
CY2020 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
5253000
CY2021 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
986000
CY2020 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
2166000
CY2021 fix Allowance For Doubtful Accounts Receivable Acquired
AllowanceForDoubtfulAccountsReceivableAcquired
1839000
CY2020 fix Allowance For Doubtful Accounts Receivable Acquired
AllowanceForDoubtfulAccountsReceivableAcquired
335000
CY2020 fix Reclassification Of Allowance For Credit Losses
ReclassificationOfAllowanceForCreditLosses
-315000
CY2021Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
10110000
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
10709000
CY2021 fix Warranty Period Of Labor After Servicing
WarrantyPeriodOfLaborAfterServicing
P30D
CY2020Q4 us-gaap Receivables Long Term Contracts Or Programs
ReceivablesLongTermContractsOrPrograms
3103580000
CY2021 us-gaap Concentration Risk Credit Risk
ConcentrationRiskCreditRisk
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 36pt;"><span style="font-style:italic;font-weight:bold;">Concentrations of Credit Risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We provide services in a broad range of geographic regions. Our credit risk primarily consists of receivables from a variety of customers including general contractors, property owners and developers, and commercial and industrial companies. We are subject to potential credit risk related to changes in business and economic factors </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">throughout the United States within the nonresidential construction industry. However, we are entitled to payment for work performed and have certain lien rights related to that work. Further, we believe that our contract acceptance, billing and collection policies are adequate to manage potential credit risk. We regularly review our accounts receivable and estimate an allowance for credit losses. We have a diverse customer base, with our top customer representing 9% of consolidated 2021 revenue.</p>
CY2019Q4 us-gaap Gain On Business Interruption Insurance Recovery
GainOnBusinessInterruptionInsuranceRecovery
4800000
CY2019Q4 fix Gain Recorded As Reduction In Sga
GainRecordedAsReductionInSga
1600000
CY2021Q4 us-gaap Receivables Long Term Contracts Or Programs
ReceivablesLongTermContractsOrPrograms
3723715000
CY2021Q4 fix Customer Advances And Progress Payments For Long Term Contract Or Program
CustomerAdvancesAndProgressPaymentsForLongTermContractOrProgram
589286000
CY2020Q4 fix Customer Advances And Progress Payments For Long Term Contract Or Program
CustomerAdvancesAndProgressPaymentsForLongTermContractOrProgram
548435000
CY2021Q4 fix Billed Contract Receivables Contracts In Progress
BilledContractReceivablesContractsInProgress
4527801000
CY2020Q4 fix Billed Contract Receivables Contracts In Progress
BilledContractReceivablesContractsInProgress
3813171000
CY2021Q4 us-gaap Unbilled Contracts Receivable
UnbilledContractsReceivable
61881000
CY2020Q4 us-gaap Unbilled Contracts Receivable
UnbilledContractsReceivable
45596000
CY2021Q4 fix Unbilled Accounts Receivable Allowance For Credit Loss
UnbilledAccountsReceivableAllowanceForCreditLoss
715000
CY2020Q4 fix Unbilled Accounts Receivable Allowance For Credit Loss
UnbilledAccountsReceivableAllowanceForCreditLoss
784000
CY2021Q4 fix Contract Receivables Contracts In Process Net Receivable Liability
ContractReceivablesContractsInProcessNetReceivableLiability
-277396000
CY2020Q4 fix Contract Receivables Contracts In Process Net Receivable Liability
ContractReceivablesContractsInProcessNetReceivableLiability
-207536000
CY2021Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
29900000
CY2020Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
18622000
CY2021Q4 fix Costs In Excess Of Billings Allowance For Credit Losses
CostsInExcessOfBillingsAllowanceForCreditLosses
84000
CY2020Q4 fix Costs In Excess Of Billings Allowance For Credit Losses
CostsInExcessOfBillingsAllowanceForCreditLosses
79000
CY2021Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
307380000
CY2020Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
226237000
CY2021Q4 fix Contract Receivables Contracts In Process Net Receivable Liability
ContractReceivablesContractsInProcessNetReceivableLiability
-277396000
CY2020Q4 fix Contract Receivables Contracts In Process Net Receivable Liability
ContractReceivablesContractsInProcessNetReceivableLiability
-207536000
CY2021 fix Retention Provisions Construction Contracts Holding Period
RetentionProvisionsConstructionContractsHoldingPeriod
P6M
CY2021Q4 us-gaap Construction Contractor Receivable Retainage
ConstructionContractorReceivableRetainage
139500000
CY2020Q4 us-gaap Construction Contractor Receivable Retainage
ConstructionContractorReceivableRetainage
124100000
CY2021Q4 fix Construction Contractor Retainage Payable
ConstructionContractorRetainagePayable
24000000.0
CY2020Q4 fix Construction Contractor Retainage Payable
ConstructionContractorRetainagePayable
22200000
CY2021 us-gaap Revenue Performance Obligation Description Of Payment Terms
RevenuePerformanceObligationDescriptionOfPaymentTerms
We typically invoice our customers with payment terms of net due in 30 days
CY2021 fix Receivable Due Term
ReceivableDueTerm
P30D
CY2021 us-gaap Revenues
Revenues
3073636000
CY2021 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2020 us-gaap Revenues
Revenues
2856659000
CY2020 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2019 us-gaap Revenues
Revenues
2615277000
CY2019 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2021 us-gaap Revenues
Revenues
3073636000
CY2021 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2020 us-gaap Revenues
Revenues
2856659000
CY2020 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2019 us-gaap Revenues
Revenues
2615277000
CY2019 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2021 us-gaap Revenues
Revenues
3073636000
CY2021 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2020 us-gaap Revenues
Revenues
2856659000
CY2020 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2019 us-gaap Revenues
Revenues
2615277000
CY2019 fix Percentage Of Revenue From Contract With Customer
PercentageOfRevenueFromContractWithCustomer
1.000
CY2021 us-gaap Contract With Customer Asset Increase Decrease For Contract Acquired In Business Combination
ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination
10356000
CY2021 us-gaap Contract With Customer Liability Increase Decrease For Contract Acquired In Business Combination
ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
36523000
CY2019Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
166918000
CY2020Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
18622000
CY2020Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
226237000
CY2019Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
2736000
CY2020 us-gaap Contract With Customer Asset Increase Decrease For Contract Acquired In Business Combination
ContractWithCustomerAssetIncreaseDecreaseForContractAcquiredInBusinessCombination
9509000
CY2020 us-gaap Contract With Customer Liability Increase Decrease For Contract Acquired In Business Combination
ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
39885000
CY2021 us-gaap Contract With Customer Receivable Credit Loss Expense Reversal
ContractWithCustomerReceivableCreditLossExpenseReversal
-5000
CY2020 us-gaap Contract With Customer Receivable Credit Loss Expense Reversal
ContractWithCustomerReceivableCreditLossExpenseReversal
-79000
CY2021 fix Contract With Customer Asset Increase Decrease For Change Due To Conditional Versus Unconditional
ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional
927000
CY2021 us-gaap Contract With Customer Liability Change In Timeframe Performance Obligation Satisfied Revenue Recognized
ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
44620000
CY2020 fix Contract With Customer Asset Increase Decrease For Change Due To Conditional Versus Unconditional
ContractWithCustomerAssetIncreaseDecreaseForChangeDueToConditionalVersusUnconditional
6456000
CY2020 us-gaap Contract With Customer Liability Change In Timeframe Performance Obligation Satisfied Revenue Recognized
ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized
19434000
CY2021Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
29900000
CY2021Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
307380000
CY2020Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
18622000
CY2020Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
226237000
CY2021 us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
207600000
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
2310000000
CY2021Q4 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P12M
CY2021 fix Renewable Service Maintenance Agreements Term
RenewableServiceMaintenanceAgreementsTerm
P1Y
CY2021Q4 fix Life Insurance Contracts Number Of Employees Covered
LifeInsuranceContractsNumberOfEmployeesCovered
85
CY2021Q4 fix Life Insurance Contracts Face Amount
LifeInsuranceContractsFaceAmount
62300000
CY2021Q4 us-gaap Cash Surrender Value Of Life Insurance
CashSurrenderValueOfLifeInsurance
6600000
CY2020Q4 us-gaap Cash Surrender Value Of Life Insurance
CashSurrenderValueOfLifeInsurance
5400000
CY2019Q4 us-gaap Goodwill
Goodwill
332447000
CY2020 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
131945000
CY2020Q4 us-gaap Goodwill
Goodwill
464392000
CY2021 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
127722000
CY2021Q4 us-gaap Goodwill
Goodwill
592114000
CY2019 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2020 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2021 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2021Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
477667000
CY2021Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
172886000
CY2020Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
366987000
CY2020Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
135180000
CY2021 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
40500000
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
32700000
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
27100000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
46505000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
34532000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
32343000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
30156000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
29312000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
131933000
CY2021Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
304781000
CY2021Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
293379000
CY2020Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
264408000
CY2021Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
164825000
CY2020Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
147202000
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
128554000
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
117206000
CY2021 us-gaap Depreciation And Amortization
DepreciationAndAmortization
28400000
CY2020 us-gaap Depreciation And Amortization
DepreciationAndAmortization
27900000
CY2019 us-gaap Depreciation And Amortization
DepreciationAndAmortization
24500000
CY2021Q4 us-gaap Product Warranty Accrual Classified Current
ProductWarrantyAccrualClassifiedCurrent
8969000
CY2020Q4 us-gaap Product Warranty Accrual Classified Current
ProductWarrantyAccrualClassifiedCurrent
8914000
CY2021Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
19050000
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
16586000
CY2021Q4 fix Accrued Job Losses
AccruedJobLosses
8962000
CY2020Q4 fix Accrued Job Losses
AccruedJobLosses
2151000
CY2021Q4 us-gaap Sales And Excise Tax Payable Current And Noncurrent
SalesAndExciseTaxPayableCurrentAndNoncurrent
3861000
CY2020Q4 us-gaap Sales And Excise Tax Payable Current And Noncurrent
SalesAndExciseTaxPayableCurrentAndNoncurrent
3731000
CY2021Q4 us-gaap Deferred Revenue Current
DeferredRevenueCurrent
13734000
CY2020Q4 us-gaap Deferred Revenue Current
DeferredRevenueCurrent
4559000
CY2021Q4 fix Liabilities Due To Former Owners Current
LiabilitiesDueToFormerOwnersCurrent
27613000
CY2020Q4 fix Liabilities Due To Former Owners Current
LiabilitiesDueToFormerOwnersCurrent
10280000
CY2021Q4 us-gaap Other Sundry Liabilities Current
OtherSundryLiabilitiesCurrent
37211000
CY2020Q4 us-gaap Other Sundry Liabilities Current
OtherSundryLiabilitiesCurrent
45271000
CY2021Q4 us-gaap Other Liabilities Current
OtherLiabilitiesCurrent
119400000
CY2020Q4 us-gaap Other Liabilities Current
OtherLiabilitiesCurrent
91492000
CY2021Q4 us-gaap Finance Lease Liability
FinanceLeaseLiability
266000
CY2021Q4 us-gaap Debt Longterm And Shortterm Combined Amount
DebtLongtermAndShorttermCombinedAmount
388220000
CY2020Q4 us-gaap Debt Longterm And Shortterm Combined Amount
DebtLongtermAndShorttermCombinedAmount
236000000
CY2021Q4 us-gaap Debt Instrument Unamortized Discount Premium And Debt Issuance Costs Net
DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
190000
CY2020Q4 us-gaap Debt Instrument Unamortized Discount Premium And Debt Issuance Costs Net
DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
267000
CY2021Q4 us-gaap Long Term Debt
LongTermDebt
388030000
CY2020Q4 us-gaap Long Term Debt
LongTermDebt
235733000
CY2021Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
2788000
CY2021Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
385242000
CY2020Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
235733000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
2788000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
27981000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
35352000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Four
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
322099000
CY2021Q4 us-gaap Debt And Capital Lease Obligations
DebtAndCapitalLeaseObligations
388220000
CY2021 us-gaap Interest Expense Related Party
InterestExpenseRelatedParty
1052000
CY2019 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
387000
CY2020 us-gaap Interest Expense Related Party
InterestExpenseRelatedParty
1354000
CY2019 us-gaap Interest Expense Related Party
InterestExpenseRelatedParty
1531000
CY2021 us-gaap Debt Related Commitment Fees And Debt Issuance Costs
DebtRelatedCommitmentFeesAndDebtIssuanceCosts
3371000
CY2020 us-gaap Debt Related Commitment Fees And Debt Issuance Costs
DebtRelatedCommitmentFeesAndDebtIssuanceCosts
5319000
CY2019 us-gaap Debt Related Commitment Fees And Debt Issuance Costs
DebtRelatedCommitmentFeesAndDebtIssuanceCosts
6887000
CY2021 fix Interest Expense On Interest Rate Swaps
InterestExpenseOnInterestRateSwaps
499000
CY2020 fix Interest Expense On Interest Rate Swaps
InterestExpenseOnInterestRateSwaps
338000
CY2021 us-gaap Finance Lease Interest Expense
FinanceLeaseInterestExpense
57000
CY2021 fix Letter Of Credit Fees Amount
LetterOfCreditFeesAmount
679000
CY2020 fix Letter Of Credit Fees Amount
LetterOfCreditFeesAmount
830000
CY2019 fix Letter Of Credit Fees Amount
LetterOfCreditFeesAmount
512000
CY2021 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
538000
CY2020 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
544000
CY2021 us-gaap Interest Expense
InterestExpense
6196000
CY2020 us-gaap Interest Expense
InterestExpense
8385000
CY2019 us-gaap Interest Expense
InterestExpense
9317000
CY2021Q4 fix Debt Instrument Covenant Fixed Charge Coverage Ratio
DebtInstrumentCovenantFixedChargeCoverageRatio
2.00
CY2021Q4 us-gaap Finance Lease Liability
FinanceLeaseLiability
300000
CY2021 fix Variable Lease And Short Term Lease Cost
VariableLeaseAndShortTermLeaseCost
11900000
CY2020 fix Variable Lease And Short Term Lease Cost
VariableLeaseAndShortTermLeaseCost
7700000
CY2019 fix Variable Lease And Short Term Lease Cost
VariableLeaseAndShortTermLeaseCost
8400000
CY2021Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.040
CY2020Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.042
CY2021 us-gaap Operating Lease Expense
OperatingLeaseExpense
34200000
CY2020 us-gaap Operating Lease Expense
OperatingLeaseExpense
28200000
CY2019 us-gaap Operating Lease Expense
OperatingLeaseExpense
24800000
CY2021 us-gaap Lessee Operating Lease Existence Of Option To Extend
LesseeOperatingLeaseExistenceOfOptionToExtend
true
CY2021Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P8Y8M12D
CY2020Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P7Y6M
CY2021 us-gaap Payments For Rent
PaymentsForRent
4900000
CY2020 us-gaap Payments For Rent
PaymentsForRent
4200000
CY2019 us-gaap Payments For Rent
PaymentsForRent
3700000
CY2021Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
124756000
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
94727000
CY2021Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
19050000
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
16586000
CY2021Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
107701000
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
80576000
CY2021Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
126751000
CY2020Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
97162000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
23729000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
21142000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
18738000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
17642000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
14631000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
55161000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
151043000
CY2021Q4 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
24292000
CY2021Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
126751000
CY2021 us-gaap Operating Lease Payments
OperatingLeasePayments
22232000
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
20443000
CY2021 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
47621000
CY2020 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
27346000
CY2021 us-gaap Income Tax Reconciliation Tax Contingencies
IncomeTaxReconciliationTaxContingencies
640000
CY2021 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
31283000
CY2020 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
36556000
CY2019 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
33281000
CY2021 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
8741000
CY2020 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
12798000
CY2019 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
8388000
CY2021 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
40024000
CY2020 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
49354000
CY2019 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
41669000
CY2021 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
6197000
CY2020 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-5483000
CY2019 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-3750000
CY2021 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
705000
CY2020 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-2470000
CY2019 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-501000
CY2021 us-gaap Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
6902000
CY2020 us-gaap Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
-7953000
CY2019 us-gaap Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
-4251000
CY2021 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
46926000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
41401000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
37418000
CY2021 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.247
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.216
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.247
CY2021 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2019 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2021 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
39958000
CY2020 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
40223000
CY2019 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
31866000
CY2021 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
7340000
CY2020 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
8406000
CY2019 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
6644000
CY2021 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
-39000
CY2020 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
-254000
CY2019 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
-279000
CY2019 us-gaap Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
78000
CY2021 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
46926000
CY2020 us-gaap Income Tax Reconciliation Tax Contingencies
IncomeTaxReconciliationTaxContingencies
18557000
CY2021 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
-2210000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
-426000
CY2019 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
-714000
CY2021 us-gaap Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
63000
CY2020 us-gaap Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
-380000
CY2019 us-gaap Income Tax Reconciliation Tax Contingencies
IncomeTaxReconciliationTaxContingencies
7338000
CY2021 us-gaap Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
2381000
CY2020 us-gaap Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
2470000
CY2019 us-gaap Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
2180000
CY2020 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
26133000
CY2019 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
4569000
CY2021 fix Income Tax Reconciliation Section179d Deduction
IncomeTaxReconciliationSection179dDeduction
1207000
CY2020 fix Income Tax Reconciliation Section179d Deduction
IncomeTaxReconciliationSection179dDeduction
1062000
CY2019 fix Income Tax Reconciliation Section179d Deduction
IncomeTaxReconciliationSection179dDeduction
5126000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
41401000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
37418000
CY2019Q3 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
4600000
CY2018 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
2700000
CY2020Q3 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
7300000
CY2019 fix Income Tax Reconciliation Section179d Deduction Net Of Tax Contingencies
IncomeTaxReconciliationSection179dDeductionNetOfTaxContingencies
2200000
CY2020Q3 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
8300000
CY2022Q1 us-gaap Decrease In Unrecognized Tax Benefits Is Reasonably Possible
DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible
28800000
CY2021Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
1878000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
2186000
CY2021Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
3392000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
2791000
CY2021Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
36255000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
39761000
CY2021Q4 fix Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
27944000
CY2020Q4 fix Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
22768000
CY2021Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
10379000
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
12127000
CY2021Q4 us-gaap Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
3851000
CY2021Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
758000
CY2020Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
627000
CY2021Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
84457000
CY2020Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
80260000
CY2021Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
475000
CY2020Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
514000
CY2021Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
83982000
CY2020Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
79746000
CY2021Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
15534000
CY2020Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
13877000
CY2021Q4 us-gaap Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
27905000
CY2020Q4 us-gaap Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
22715000
CY2021Q4 fix Deferred Tax Liabilities Long Term Contracts
DeferredTaxLiabilitiesLongTermContracts
964000
CY2020Q4 fix Deferred Tax Liabilities Long Term Contracts
DeferredTaxLiabilitiesLongTermContracts
609000
CY2020Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
242000
CY2021Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Goodwill
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
17321000
CY2020Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Goodwill
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
11615000
CY2021Q4 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
1098000
CY2020Q4 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
2626000
CY2021Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
62822000
CY2020Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
51684000
CY2021Q4 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
21160000
CY2020Q4 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
28062000
CY2021Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
22905000
CY2020Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
29401000
CY2021Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1745000
CY2020Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1339000
CY2021Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards Domestic
DeferredTaxAssetsOperatingLossCarryforwardsDomestic
7200000
CY2021Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards State And Local
DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
3200000
CY2020Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
28756000
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
10199000
CY2018Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
2966000
CY2021 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
207000
CY2021 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
489000
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
26858000
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
7473000
CY2019 us-gaap Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
240000
CY2020 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
8301000
CY2021Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
29452000
CY2020Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
28756000
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
10199000
CY2021Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
29500000
CY2020Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
28800000
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
10200000
CY2019Q4 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
0
CY2020Q4 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
0
CY2021Q4 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
0
CY2020 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
8300000
CY2022Q1 us-gaap Decrease In Unrecognized Tax Benefits Is Reasonably Possible
DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible
28800000
CY2021 fix Defined Contribution Plan Maximum Annual Contribution Per Employee By Employer Percent
DefinedContributionPlanMaximumAnnualContributionPerEmployeeByEmployerPercent
0.025
CY2021 us-gaap Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
16100000
CY2020 us-gaap Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
16300000
CY2019 us-gaap Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
14200000
CY2021 fix Defined Contribution Plan Amount Payable
DefinedContributionPlanAmountPayable
600000
CY2020 fix Defined Contribution Plan Amount Payable
DefinedContributionPlanAmountPayable
500000
CY2021 fix Multi Employer Pension Plan Number Of Employees Who Are Union Members
MultiEmployerPensionPlanNumberOfEmployeesWhoAreUnionMembers
5
CY2020 fix Multi Employer Pension Plan Number Of Employees Who Are Union Members
MultiEmployerPensionPlanNumberOfEmployeesWhoAreUnionMembers
6
CY2019 us-gaap Multiemployer Plan Pension Insignificant Plan Contribution
MultiemployerPlanPensionInsignificantPlanContribution
0
CY2020 us-gaap Multiemployer Plan Pension Insignificant Plan Contribution
MultiemployerPlanPensionInsignificantPlanContribution
0
CY2021 us-gaap Multiemployer Plan Pension Insignificant Plan Contribution
MultiemployerPlanPensionInsignificantPlanContribution
0
CY2021 fix Defined Benefit Plan Period In Which Certain Individuals Are Entitled To Fixed Annual Payments
DefinedBenefitPlanPeriodInWhichCertainIndividualsAreEntitledToFixedAnnualPayments
P15Y
CY2021 fix Defined Benefit Plan Period In Which Certain Individuals Are Entitled To Fixed Annual Payments
DefinedBenefitPlanPeriodInWhichCertainIndividualsAreEntitledToFixedAnnualPayments
P15Y
CY2021 fix Defined Benefit Plan Maximum Age In Which Certain Individuals Are Entitled To Fixed Annual Payments
DefinedBenefitPlanMaximumAgeInWhichCertainIndividualsAreEntitledToFixedAnnualPayments
P65Y
CY2021 fix Defined Benefit Plan Maximum Age In Which Certain Individuals Are Entitled To Fixed Annual Payments
DefinedBenefitPlanMaximumAgeInWhichCertainIndividualsAreEntitledToFixedAnnualPayments
P65Y
CY2021 fix Defined Benefit Plan Period Portion Of Benefits Vesting After Ten Years Of Completed Service
DefinedBenefitPlanPeriodPortionOfBenefitsVestingAfterTenYearsOfCompletedService
0.50
CY2021 fix Defined Benefit Plan Period Of Completed Service Over Which50 Percent Of Benefits Are Vested
DefinedBenefitPlanPeriodOfCompletedServiceOverWhich50PercentOfBenefitsAreVested
P10Y
CY2021 fix Defined Benefit Plan Period Portion Of Benefits Vesting After Fifteen Years Of Completed Service
DefinedBenefitPlanPeriodPortionOfBenefitsVestingAfterFifteenYearsOfCompletedService
0.75
CY2021 fix Defined Benefit Plan Period Of Completed Service Over Which75 Percent Of Benefits Are Vested
DefinedBenefitPlanPeriodOfCompletedServiceOverWhich75PercentOfBenefitsAreVested
P15Y
CY2021 fix Defined Benefit Plan Period Of Service Over Which Benefits Are Fully Vested
DefinedBenefitPlanPeriodOfServiceOverWhichBenefitsAreFullyVested
P20Y
CY2020Q4 us-gaap Pension And Other Postretirement Defined Benefit Plans Liabilities Noncurrent
PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
4000000.0
CY2021Q4 us-gaap Pension And Other Postretirement Defined Benefit Plans Liabilities Noncurrent
PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
4000000.0
CY2021Q4 fix Self Insurance Amount Of Loss Fully Insured Above Deductible Coverage Amount
SelfInsuranceAmountOfLossFullyInsuredAboveDeductibleCoverageAmount
150000000.0
CY2021Q4 fix Self Insurance Aggregate Loss Insurance Covered Amount
SelfInsuranceAggregateLossInsuranceCoveredAmount
150000000.0
CY2021 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36285000
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36542000
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36854000
CY2021 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
89000
CY2021Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
36091000
CY2020Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
36188000
CY2019Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
36658000
CY2021 fix Effect Of Using Weighted Average Common Shares Outstanding
EffectOfUsingWeightedAverageCommonSharesOutstanding
194000
CY2020 fix Effect Of Using Weighted Average Common Shares Outstanding
EffectOfUsingWeightedAverageCommonSharesOutstanding
354000
CY2019 fix Effect Of Using Weighted Average Common Shares Outstanding
EffectOfUsingWeightedAverageCommonSharesOutstanding
196000
CY2020 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
123000
CY2019 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
204000
CY2021 us-gaap Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
76000
CY2020 us-gaap Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
73000
CY2019 us-gaap Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
73000
CY2021 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
36450000
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
36738000
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
37131000
CY2021 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
10600000
CY2020 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
6900000
CY2019 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
5900000
CY2021 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
2200000
CY2020 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
1500000
CY2019 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
1300000
CY2021Q4 us-gaap Assets
Assets
2209114000
CY2020Q4 us-gaap Assets
Assets
1757355000
CY2021 us-gaap Revenues
Revenues
3073636000
CY2021 us-gaap Gross Profit
GrossProfit
563207000
CY2021 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2021 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2021 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2021 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2021 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2021 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
22330000
CY2020 us-gaap Revenues
Revenues
2856659000
CY2020 us-gaap Gross Profit
GrossProfit
546983000
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
24131000
CY2019 us-gaap Revenues
Revenues
2615277000
CY2019 us-gaap Gross Profit
GrossProfit
501943000
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
31750000

Files In Submission

Name View Source Status
0001558370-22-001753-index-headers.html Edgar Link pending
0001558370-22-001753-index.html Edgar Link pending
0001558370-22-001753.txt Edgar Link pending
0001558370-22-001753-xbrl.zip Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
fix-20211231.xsd Edgar Link pending
fix-20211231x10k.htm Edgar Link pending
fix-20211231x10k002.jpg Edgar Link pending
fix-20211231x10k_htm.xml Edgar Link completed
fix-20211231xex21d1.htm Edgar Link pending
fix-20211231xex23d1.htm Edgar Link pending
fix-20211231xex23d2.htm Edgar Link pending
fix-20211231xex31d1.htm Edgar Link pending
fix-20211231xex31d2.htm Edgar Link pending
fix-20211231xex32d1.htm Edgar Link pending
fix-20211231xex32d2.htm Edgar Link pending
fix-20211231_cal.xml Edgar Link unprocessable
fix-20211231_def.xml Edgar Link unprocessable
fix-20211231_lab.xml Edgar Link unprocessable
fix-20211231_pre.xml Edgar Link unprocessable
MetaLinks.json Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R64.htm Edgar Link pending
R65.htm Edgar Link pending
R66.htm Edgar Link pending
R67.htm Edgar Link pending
R68.htm Edgar Link pending
R69.htm Edgar Link pending
R7.htm Edgar Link pending
R70.htm Edgar Link pending
R71.htm Edgar Link pending
R72.htm Edgar Link pending
R73.htm Edgar Link pending
R74.htm Edgar Link pending
R75.htm Edgar Link pending
R76.htm Edgar Link pending
R77.htm Edgar Link pending
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending