2021 Q4 Form 10-K Financial Statement
#000155837022001753 Filed on February 23, 2022
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 |