2024 Q1 Form 10-K Financial Statement
#000155837024001999 Filed on February 28, 2024
Income Statement
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
Revenue | $1.279B | $1.286B | $5.195B |
YoY Change | 1.07% | 1.7% | 3.71% |
Cost Of Revenue | $891.6M | $895.0M | $3.591B |
YoY Change | -0.39% | 0.68% | 1.95% |
Gross Profit | $387.2M | $391.1M | $1.604B |
YoY Change | 4.57% | 4.11% | 7.88% |
Gross Profit Margin | 30.28% | 30.41% | 30.87% |
Selling, General & Admin | $172.6M | $186.3M | $725.0M |
YoY Change | 1.09% | 7.97% | 5.14% |
% of Gross Profit | 44.59% | 47.64% | 45.2% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $34.26M | $34.66M | $132.9M |
YoY Change | 6.72% | 14.46% | 7.74% |
% of Gross Profit | 8.85% | 8.86% | 8.29% |
Operating Expenses | $172.6M | $186.3M | $725.0M |
YoY Change | 1.09% | 7.97% | 5.14% |
Operating Profit | $214.5M | $204.8M | $878.8M |
YoY Change | 7.56% | 0.83% | 10.24% |
Interest Expense | $18.80M | -$19.19M | $74.61M |
YoY Change | 4.19% | 14.34% | 31.56% |
% of Operating Profit | 8.76% | -9.37% | 8.49% |
Other Income/Expense, Net | -$7.513M | $8.729M | -$53.34M |
YoY Change | -53.38% | 451.07% | -3.07% |
Pretax Income | $207.0M | $194.3M | $825.5M |
YoY Change | 12.92% | 3.42% | 11.23% |
Income Tax | $54.61M | $47.96M | $211.2M |
% Of Pretax Income | 26.38% | 24.68% | 25.59% |
Net Earnings | $152.4M | $146.4M | $614.3M |
YoY Change | 12.15% | 1.77% | 10.48% |
Net Earnings / Revenue | 11.92% | 11.38% | 11.82% |
Basic Earnings Per Share | $4.82 | $19.44 | |
Diluted Earnings Per Share | $4.79 | $4.60 | $19.33 |
COMMON SHARES | |||
Basic Shares Outstanding | 31.78M | 31.77M | 31.60M |
Diluted Shares Outstanding | 31.84M | 31.78M |
Balance Sheet
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $968.8M | $848.6M | $848.6M |
YoY Change | 190.26% | 253.47% | 253.47% |
Cash & Equivalents | $968.8M | $848.6M | $848.6M |
Short-Term Investments | |||
Other Short-Term Assets | $29.38M | $36.94M | $36.94M |
YoY Change | 28.5% | 7.83% | 7.83% |
Inventory | $375.1M | $364.7M | $364.7M |
Prepaid Expenses | |||
Receivables | $829.2M | $799.0M | $799.0M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $2.202B | $2.049B | $2.049B |
YoY Change | 36.56% | 32.29% | 32.29% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $467.8M | $258.9M | $469.1M |
YoY Change | -0.79% | 4.89% | 2.12% |
Goodwill | $2.052B | $2.043B | |
YoY Change | 7980.0% | 3.84% | |
Intangibles | $591.1M | ||
YoY Change | -3.89% | ||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $9.522M | $10.87M | $10.87M |
YoY Change | -42.23% | -33.96% | -33.96% |
Total Long-Term Assets | $3.108B | $3.114B | $3.114B |
YoY Change | 0.64% | 1.83% | 1.83% |
TOTAL ASSETS | |||
Total Short-Term Assets | $2.202B | $2.049B | $2.049B |
Total Long-Term Assets | $3.108B | $3.114B | $3.114B |
Total Assets | $5.310B | $5.163B | $5.163B |
YoY Change | 12.97% | 12.07% | 12.07% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $467.9M | $469.6M | $469.6M |
YoY Change | 3.75% | -3.6% | -3.6% |
Accrued Expenses | $252.7M | $253.0M | $253.0M |
YoY Change | 7.67% | 6.16% | 6.16% |
Deferred Revenue | $15.72M | $18.37M | |
YoY Change | -24.22% | -16.29% | |
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | $46.23M | $47.04M | $48.96M |
YoY Change | 9.11% | 17.4% | 15.8% |
Total Short-Term Liabilities | $784.4M | $771.5M | $771.5M |
YoY Change | 4.41% | -2.29% | -2.29% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $1.362B | $1.373B | $1.377B |
YoY Change | -3.09% | -3.12% | -3.28% |
Other Long-Term Liabilities | $1.487M | $1.554M | $206.6M |
YoY Change | -71.72% | -33.84% | -2.61% |
Total Long-Term Liabilities | $1.364B | $1.375B | $1.584B |
YoY Change | -3.35% | -3.17% | -3.2% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $784.4M | $771.5M | $771.5M |
Total Long-Term Liabilities | $1.364B | $1.375B | $1.584B |
Total Liabilities | $2.598B | $2.599B | $2.599B |
YoY Change | -1.42% | -2.91% | -2.91% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $2.523B | $2.371B | |
YoY Change | 33.33% | 34.97% | |
Common Stock | $912.9M | $906.7M | |
YoY Change | 2.35% | 2.14% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $2.712B | $2.564B | $2.564B |
YoY Change | |||
Total Liabilities & Shareholders Equity | $5.310B | $5.163B | $5.163B |
YoY Change | 12.97% | 12.07% | 12.07% |
Cashflow Statement
Concept | 2024 Q1 | 2023 Q4 | 2023 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $152.4M | $146.4M | $614.3M |
YoY Change | 12.15% | 1.77% | 10.48% |
Depreciation, Depletion And Amortization | $34.26M | $34.66M | $132.9M |
YoY Change | 6.72% | 14.46% | 7.74% |
Cash From Operating Activities | $178.8M | $260.9M | $849.4M |
YoY Change | 5.29% | 62.91% | 71.32% |
INVESTING ACTIVITIES | |||
Capital Expenditures | $19.88M | $15.92M | $64.00M |
YoY Change | 27.61% | -21.71% | -16.21% |
Acquisitions | $22.24M | $149.2M | |
YoY Change | -51.49% | 627.58% | |
Other Investing Activities | -$20.63M | -$1.232M | -$134.2M |
YoY Change | -54.55% | -1357.14% | 665.6% |
Cash From Investing Activities | -$40.51M | -$17.15M | -$198.2M |
YoY Change | -33.55% | -15.25% | 111.03% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | $12.06M | $40.14M | |
YoY Change | 23.77% | 3.83% | |
Cash From Financing Activities | -17.10M | -11.96M | -43.84M |
YoY Change | 13.5% | -79.96% | -85.39% |
NET CHANGE | |||
Cash From Operating Activities | 178.8M | 260.9M | 849.4M |
Cash From Investing Activities | -40.51M | -17.15M | -198.2M |
Cash From Financing Activities | -17.10M | -11.96M | -43.84M |
Net Change In Cash | 120.2M | 231.8M | 608.5M |
YoY Change | 28.32% | 188.9% | 506.74% |
FREE CASH FLOW | |||
Cash From Operating Activities | $178.8M | $260.9M | $849.4M |
Capital Expenditures | $19.88M | $15.92M | $64.00M |
Free Cash Flow | $158.9M | $245.0M | $785.4M |
YoY Change | 3.03% | 75.22% | 87.26% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2023Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2022Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2023 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0001633931 | |
CY2023 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--12-31 | |
CY2023 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2023 | |
CY2023 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2023 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2023Q4 | us-gaap |
Finance Lease Right Of Use Asset Statement Of Financial Position Extensible List
FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
|
http://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization | |
CY2022Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2023Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2023Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2022Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2022Q4 | us-gaap |
Finance Lease Right Of Use Asset Statement Of Financial Position Extensible List
FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
|
http://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization | |
CY2023 | dei |
Document Type
DocumentType
|
10-K | |
CY2023 | dei |
Document Annual Report
DocumentAnnualReport
|
true | |
CY2023 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2023-12-31 | |
CY2023 | dei |
Document Transition Report
DocumentTransitionReport
|
false | |
CY2023 | dei |
Entity File Number
EntityFileNumber
|
001-36870 | |
CY2023 | dei |
Entity Registrant Name
EntityRegistrantName
|
TopBuild Corp | |
CY2023 | dei |
Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
|
DE | |
CY2023 | dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
47-3096382 | |
CY2023 | dei |
Entity Address Address Line1
EntityAddressAddressLine1
|
475 North Williamson Boulevard | |
CY2023 | dei |
Entity Address City Or Town
EntityAddressCityOrTown
|
Daytona Beach | |
CY2023 | dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
FL | |
CY2023 | dei |
Entity Address Postal Zip Code
EntityAddressPostalZipCode
|
32114 | |
CY2023 | dei |
City Area Code
CityAreaCode
|
386 | |
CY2023 | dei |
Local Phone Number
LocalPhoneNumber
|
304-2200 | |
CY2023 | dei |
Security12b Title
Security12bTitle
|
Common stock, par value $0.01 per share | |
CY2023 | dei |
Trading Symbol
TradingSymbol
|
BLD | |
CY2023 | dei |
Security Exchange Name
SecurityExchangeName
|
NYSE | |
CY2023 | dei |
Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
|
Yes | |
CY2023 | dei |
Entity Voluntary Filers
EntityVoluntaryFilers
|
No | |
CY2023 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | |
CY2023 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | |
CY2023 | dei |
Entity Filer Category
EntityFilerCategory
|
Large Accelerated Filer | |
CY2023 | dei |
Entity Small Business
EntitySmallBusiness
|
false | |
CY2023 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2023 | dei |
Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
|
true | |
CY2023 | dei |
Document Fin Stmt Error Correction Flag
DocumentFinStmtErrorCorrectionFlag
|
false | |
CY2023 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2023Q2 | dei |
Entity Public Float
EntityPublicFloat
|
8600000000 | |
CY2024Q1 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
31775877 | |
CY2023 | dei |
Auditor Firm
AuditorFirmId
|
238 | |
CY2023 | dei |
Auditor Name
AuditorName
|
PricewaterhouseCoopers LLP | |
CY2023 | dei |
Auditor Location
AuditorLocation
|
Tampa, Florida | |
CY2023Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
848565000 | |
CY2022Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
240069000 | |
CY2023Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
23948000 | |
CY2022Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
20014000 | |
CY2023Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
799009000 | |
CY2022Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
836071000 | |
CY2023Q4 | us-gaap |
Inventory Net
InventoryNet
|
364731000 | |
CY2022Q4 | us-gaap |
Inventory Net
InventoryNet
|
438644000 | |
CY2023Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
36939000 | |
CY2022Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
34257000 | |
CY2023Q4 | us-gaap |
Assets Current
AssetsCurrent
|
2049244000 | |
CY2022Q4 | us-gaap |
Assets Current
AssetsCurrent
|
1549041000 | |
CY2023Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
204629000 | |
CY2022Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
205892000 | |
CY2023Q4 | us-gaap |
Property Plant And Equipment And Finance Lease Right Of Use Asset After Accumulated Depreciation And Amortization
PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
|
264487000 | |
CY2022Q4 | us-gaap |
Property Plant And Equipment And Finance Lease Right Of Use Asset After Accumulated Depreciation And Amortization
PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
|
253484000 | |
CY2023Q4 | us-gaap |
Goodwill
Goodwill
|
2042568000 | |
CY2022Q4 | us-gaap |
Goodwill
Goodwill
|
1966994000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
591058000 | |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
614967000 | |
CY2023Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
10865000 | |
CY2022Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
16453000 | |
CY2023Q4 | us-gaap |
Assets
Assets
|
5162851000 | |
CY2022Q4 | us-gaap |
Assets
Assets
|
4606831000 | |
CY2023Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
469585000 | |
CY2022Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
487114000 | |
CY2023Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
47039000 | |
CY2022Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
40068000 | |
CY2023Q4 | bld |
Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
|
187217000 | |
CY2022Q4 | bld |
Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
|
199370000 | |
CY2023Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
65780000 | |
CY2022Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
60880000 | |
CY2023Q4 | us-gaap |
Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
|
1917000 | |
CY2022Q4 | us-gaap |
Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
|
2207000 | |
CY2023Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
771538000 | |
CY2022Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
789639000 | |
CY2023Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
1373028000 | |
CY2022Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
1417257000 | |
CY2023Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
243930000 | |
CY2022Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
251481000 | |
CY2023Q4 | us-gaap |
Accrued Insurance Noncurrent
AccruedInsuranceNoncurrent
|
58783000 | |
CY2022Q4 | us-gaap |
Accrued Insurance Noncurrent
AccruedInsuranceNoncurrent
|
59783000 | |
CY2023Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
146213000 | |
CY2022Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
149943000 | |
CY2023Q4 | us-gaap |
Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
|
4150000 | |
CY2022Q4 | us-gaap |
Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
|
6673000 | |
CY2023Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
1554000 | |
CY2022Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
2349000 | |
CY2023Q4 | us-gaap |
Liabilities
Liabilities
|
2599196000 | |
CY2022Q4 | us-gaap |
Liabilities
Liabilities
|
2677125000 | |
CY2022Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2023Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2022Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
10000000 | |
CY2023Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
10000000 | |
CY2022Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2023Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2022Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2023Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2022Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
250000000 | |
CY2023Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
250000000 | |
CY2023Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
39492037 | |
CY2023Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
31776039 | |
CY2022Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
39325916 | |
CY2022Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
31642832 | |
CY2023Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
394000 | |
CY2022Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
393000 | |
CY2023Q4 | us-gaap |
Treasury Stock Common Shares
TreasuryStockCommonShares
|
7715998 | |
CY2022Q4 | us-gaap |
Treasury Stock Common Shares
TreasuryStockCommonShares
|
7683084 | |
CY2023Q4 | us-gaap |
Treasury Stock Common Value
TreasuryStockCommonValue
|
699327000 | |
CY2022Q4 | us-gaap |
Treasury Stock Common Value
TreasuryStockCommonValue
|
692799000 | |
CY2023Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
906334000 | |
CY2022Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
887367000 | |
CY2023Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
2370919000 | |
CY2022Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
1756665000 | |
CY2023Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-14665000 | |
CY2022Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-21920000 | |
CY2023Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
2563655000 | |
CY2022Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1929706000 | |
CY2023Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
5162851000 | |
CY2022Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
4606831000 | |
CY2023 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
5194694000 | |
CY2022 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
5008744000 | |
CY2021 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
3486207000 | |
CY2023 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
3590874000 | |
CY2022 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
3522025000 | |
CY2021 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
2511818000 | |
CY2023 | us-gaap |
Gross Profit
GrossProfit
|
1603820000 | |
CY2022 | us-gaap |
Gross Profit
GrossProfit
|
1486719000 | |
CY2021 | us-gaap |
Gross Profit
GrossProfit
|
974389000 | |
CY2023 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
724995000 | |
CY2022 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
689555000 | |
CY2021 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
497970000 | |
CY2023 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
878825000 | |
CY2022 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
797164000 | |
CY2021 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
476419000 | |
CY2023 | us-gaap |
Interest Expense
InterestExpense
|
74614000 | |
CY2022 | us-gaap |
Interest Expense
InterestExpense
|
56716000 | |
CY2021 | us-gaap |
Interest Expense
InterestExpense
|
29143000 | |
CY2021 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-13837000 | |
CY2023 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
21272000 | |
CY2022 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
1687000 | |
CY2021 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
4000 | |
CY2023 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-53342000 | |
CY2022 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-55029000 | |
CY2021 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-42976000 | |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
825483000 | |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
742135000 | |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
433443000 | |
CY2023 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
211229000 | |
CY2022 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
186146000 | |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
109427000 | |
CY2023 | us-gaap |
Net Income Loss
NetIncomeLoss
|
614254000 | |
CY2022 | us-gaap |
Net Income Loss
NetIncomeLoss
|
555989000 | |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
324016000 | |
CY2023 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
19.44 | |
CY2022 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
17.26 | |
CY2021 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
9.88 | |
CY2023 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
19.33 | |
CY2022 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
17.14 | |
CY2021 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
9.78 | |
CY2023 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
31597508 | |
CY2022 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
32213839 | |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
32801906 | |
CY2023 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
31776901 | |
CY2022 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
32440405 | |
CY2021 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
33146171 | |
CY2023 | us-gaap |
Net Income Loss
NetIncomeLoss
|
614254000 | |
CY2022 | us-gaap |
Net Income Loss
NetIncomeLoss
|
555989000 | |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
324016000 | |
CY2023 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Gain Loss Arising During Period Net Of Tax
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
|
7255000 | |
CY2022 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Gain Loss Arising During Period Net Of Tax
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
|
-15286000 | |
CY2021 | us-gaap |
Other Comprehensive Income Foreign Currency Transaction And Translation Gain Loss Arising During Period Net Of Tax
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
|
-6634000 | |
CY2023 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
621509000 | |
CY2022 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
540703000 | |
CY2021 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
317382000 | |
CY2023 | us-gaap |
Profit Loss
ProfitLoss
|
614254000 | |
CY2022 | us-gaap |
Profit Loss
ProfitLoss
|
555989000 | |
CY2021 | us-gaap |
Profit Loss
ProfitLoss
|
324016000 | |
CY2023 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
132878000 | |
CY2022 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
123335000 | |
CY2021 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
79390000 | |
CY2023 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
15838000 | |
CY2022 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
12310000 | |
CY2021 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
11316000 | |
CY2021 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-13837000 | |
CY2023 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-2349000 | |
CY2022 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-1833000 | |
CY2021 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-1356000 | |
CY2023 | us-gaap |
Amortization Of Financing Costs
AmortizationOfFinancingCosts
|
2881000 | |
CY2022 | us-gaap |
Amortization Of Financing Costs
AmortizationOfFinancingCosts
|
2867000 | |
CY2021 | us-gaap |
Amortization Of Financing Costs
AmortizationOfFinancingCosts
|
2036000 | |
CY2023 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
6481000 | |
CY2022 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
5510000 | |
CY2021 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
7304000 | |
CY2023 | us-gaap |
Inventory Write Down
InventoryWriteDown
|
4794000 | |
CY2022 | us-gaap |
Inventory Write Down
InventoryWriteDown
|
6659000 | |
CY2021 | us-gaap |
Inventory Write Down
InventoryWriteDown
|
2637000 | |
CY2023 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
7476000 | |
CY2022 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
-6041000 | |
CY2021 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
2818000 | |
CY2023 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-20812000 | |
CY2022 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
169327000 | |
CY2021 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
69042000 | |
CY2023 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-74529000 | |
CY2022 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
93874000 | |
CY2021 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
46518000 | |
CY2023 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
2598000 | |
CY2022 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
9222000 | |
CY2021 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-558000 | |
CY2023 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-8867000 | |
CY2022 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
26581000 | |
CY2021 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
54961000 | |
CY2023 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-4444000 | |
CY2022 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
20703000 | |
CY2021 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
24816000 | |
CY2023 | us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
-2022000 | |
CY2022 | us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
6396000 | |
CY2021 | us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
-824000 | |
CY2023 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
849409000 | |
CY2022 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
495801000 | |
CY2021 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
403025000 | |
CY2023 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
63998000 | |
CY2022 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
76382000 | |
CY2021 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
55546000 | |
CY2023 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
149154000 | |
CY2022 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
20500000 | |
CY2021 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
1267114000 | |
CY2023 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
14982000 | |
CY2022 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
2975000 | |
CY2021 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
415000 | |
CY2023 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-198170000 | |
CY2022 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-93907000 | |
CY2021 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-1322245000 | |
CY2021 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
1218750000 | |
CY2023 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
40138000 | |
CY2022 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
38658000 | |
CY2021 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
433070000 | |
CY2021 | us-gaap |
Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
|
14965000 | |
CY2022 | us-gaap |
Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
|
70000000 | |
CY2022 | us-gaap |
Repayments Of Lines Of Credit
RepaymentsOfLinesOfCredit
|
70000000 | |
CY2023 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
6528000 | |
CY2022 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
11719000 | |
CY2021 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
8805000 | |
CY2023 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
3130000 | |
CY2022 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
2028000 | |
CY2021 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
3303000 | |
CY2022 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
250050000 | |
CY2021 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
35556000 | |
CY2023 | us-gaap |
Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
|
300000 | |
CY2022 | us-gaap |
Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
|
1674000 | |
CY2021 | us-gaap |
Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
|
650000 | |
CY2023 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-43836000 | |
CY2022 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-300073000 | |
CY2021 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
729007000 | |
CY2023 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
1093000 | |
CY2022 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
-1531000 | |
CY2021 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
-15000 | |
CY2023 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
608496000 | |
CY2022 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
100290000 | |
CY2021 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-190228000 | |
CY2022Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
240069000 | |
CY2021Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
139779000 | |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
330007000 | |
CY2023Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
848565000 | |
CY2022Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
240069000 | |
CY2021Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
139779000 | |
CY2023 | us-gaap |
Interest Paid Net
InterestPaidNet
|
71463000 | |
CY2022 | us-gaap |
Interest Paid Net
InterestPaidNet
|
49888000 | |
CY2021 | us-gaap |
Interest Paid Net
InterestPaidNet
|
22144000 | |
CY2023 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
220773000 | |
CY2022 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
186722000 | |
CY2021 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
109179000 | |
CY2023 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
56255000 | |
CY2022 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
103997000 | |
CY2021 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
131909000 | |
CY2021 | us-gaap |
Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
10469000 | |
CY2023 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
912000 | |
CY2022 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
141000 | |
CY2021 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
1060000 | |
CY2023Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1348794000 | |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
324016000 | |
CY2021 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
11316000 | |
CY2021 | us-gaap |
Stock Issued During Period Shares Restricted Stock Award Gross
StockIssuedDuringPeriodSharesRestrictedStockAwardGross
|
144679 | |
CY2021 | bld |
Treasury Stock Shares Acquired Cost Method Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram
|
183136 | |
CY2021 | bld |
Treasury Stock Value Acquired Cost Method Share Repurchase Program
TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram
|
35556000 | |
CY2021 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
43715 | |
CY2021 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
8805000 | |
CY2021 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
53275 | |
CY2021 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
3303000 | |
CY2021 | us-gaap |
Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
|
-6634000 | |
CY2021Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1636434000 | |
CY2022 | us-gaap |
Net Income Loss
NetIncomeLoss
|
555989000 | |
CY2022 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
12310000 | |
CY2022 | us-gaap |
Stock Issued During Period Shares Restricted Stock Award Gross
StockIssuedDuringPeriodSharesRestrictedStockAwardGross
|
168137 | |
CY2022 | bld |
Treasury Stock Shares Acquired Cost Method Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram
|
1390667 | |
CY2022 | bld |
Treasury Stock Value Acquired Cost Method Share Repurchase Program
TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram
|
250050000 | |
CY2022 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
53593 | |
CY2022 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
11719000 | |
CY2022 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
25215 | |
CY2022 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
2028000 | |
CY2022 | us-gaap |
Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
|
-15286000 | |
CY2023 | us-gaap |
Stock Issued During Period Shares Restricted Stock Award Gross
StockIssuedDuringPeriodSharesRestrictedStockAwardGross
|
112580 | |
CY2022Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1929706000 | |
CY2023 | us-gaap |
Net Income Loss
NetIncomeLoss
|
614254000 | |
CY2023 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
15838000 | |
CY2023 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
32914 | |
CY2023 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
6528000 | |
CY2023 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
53541 | |
CY2023 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
3130000 | |
CY2023 | us-gaap |
Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
|
7255000 | |
CY2023Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
2563655000 | |
CY2023 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
2 | |
CY2023 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates and Assumptions in the Preparation of Financial Statements.</span> The preparation of our Consolidated Financial Statements in conformity with GAAP requires us to make certain estimates and assumptions that affect the reported amounts of assets and liabilities, and disclosure of any contingent assets and liabilities, at the date of the financial statements, and the reported amounts of sales and expenses during the reporting period. Actual results may differ from these estimates and assumptions.</p> | |
CY2023Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
10700000 | |
CY2022Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
17300000 | |
CY2023Q4 | bld |
Insurance Liability
InsuranceLiability
|
10400000 | |
CY2023Q4 | bld |
Insurance Receivable
InsuranceReceivable
|
10400000 | |
CY2022Q4 | bld |
Insurance Liability
InsuranceLiability
|
16500000 | |
CY2022Q4 | bld |
Insurance Receivable
InsuranceReceivable
|
16500000 | |
CY2023 | us-gaap |
Advertising Expense
AdvertisingExpense
|
3000000.0 | |
CY2022 | us-gaap |
Advertising Expense
AdvertisingExpense
|
2900000 | |
CY2021 | us-gaap |
Advertising Expense
AdvertisingExpense
|
2300000 | |
CY2021 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
673000 | |
CY2023Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
204629000 | |
CY2022Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
205892000 | |
CY2023Q4 | us-gaap |
Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
|
5577000 | |
CY2022Q4 | us-gaap |
Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
|
6647000 | |
CY2023Q4 | bld |
Operating And Finance Lease Right Of Use Asset
OperatingAndFinanceLeaseRightOfUseAsset
|
210206000 | |
CY2022Q4 | bld |
Operating And Finance Lease Right Of Use Asset
OperatingAndFinanceLeaseRightOfUseAsset
|
212539000 | |
CY2023Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
65780000 | |
CY2022Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
60880000 | |
CY2023Q4 | us-gaap |
Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
|
1917000 | |
CY2022Q4 | us-gaap |
Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
|
2207000 | |
CY2023Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
146213000 | |
CY2022Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
149943000 | |
CY2023Q4 | us-gaap |
Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
|
4150000 | |
CY2022Q4 | us-gaap |
Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
|
6673000 | |
CY2023Q4 | bld |
Operating And Finance Lease Liability
OperatingAndFinanceLeaseLiability
|
218060000 | |
CY2022Q4 | bld |
Operating And Finance Lease Liability
OperatingAndFinanceLeaseLiability
|
219703000 | |
CY2023Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P3Y7M6D | |
CY2022Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P4Y2M12D | |
CY2023Q4 | us-gaap |
Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
|
P3Y9M18D | |
CY2022Q4 | us-gaap |
Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
|
P3Y9M18D | |
CY2023Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.040 | |
CY2022Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.032 | |
CY2023Q4 | us-gaap |
Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
|
0.033 | |
CY2022Q4 | us-gaap |
Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
|
0.029 | |
CY2023 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
88292000 | |
CY2022 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
75366000 | |
CY2021 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
55824000 | |
CY2023 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
2188000 | |
CY2022 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
2815000 | |
CY2021 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
48125000 | |
CY2023 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
2776000 | |
CY2022 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
2361000 | |
CY2023 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
210000 | |
CY2022 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
268000 | |
CY2021 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
24000 | |
CY2023 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
24275000 | |
CY2022 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
18315000 | |
CY2021 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
15258000 | |
CY2023 | us-gaap |
Sublease Income
SubleaseIncome
|
1022000 | |
CY2022 | us-gaap |
Sublease Income
SubleaseIncome
|
780000 | |
CY2021 | us-gaap |
Sublease Income
SubleaseIncome
|
882000 | |
CY2023 | us-gaap |
Lease Cost
LeaseCost
|
113943000 | |
CY2022 | us-gaap |
Lease Cost
LeaseCost
|
95984000 | |
CY2021 | us-gaap |
Lease Cost
LeaseCost
|
70897000 | |
CY2023 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
16162000 | |
CY2022 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
14451000 | |
CY2021 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
8711000 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
75220000 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
63896000 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
46687000 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
29322000 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
15223000 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
|
5663000 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
236011000 | |
CY2023Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
17951000 | |
CY2023Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
218060000 | |
CY2023 | us-gaap |
Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
|
210000 | |
CY2022 | us-gaap |
Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
|
268000 | |
CY2021 | us-gaap |
Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
|
74000 | |
CY2023 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
71667000 | |
CY2022 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
74135000 | |
CY2021 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
562000 | |
CY2022Q4 | us-gaap |
Goodwill
Goodwill
|
1966994000 | |
CY2023 | bld |
Debt Instrument Covenant Minimum Interest Coverage Ratio
DebtInstrumentCovenantMinimumInterestCoverageRatio
|
3.00 | |
CY2023 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
5194694000 | |
CY2022 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
5008744000 | |
CY2021 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
3486207000 | |
CY2023 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
5194694000 | |
CY2022 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
5008744000 | |
CY2021 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
3486207000 | |
CY2023Q4 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
409400000 | |
CY2023 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Explanation
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation
|
over the next 18 months | |
CY2023Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
644344000 | |
CY2022Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
587529000 | |
CY2023Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
385435000 | |
CY2022Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
340692000 | |
CY2023Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
258909000 | |
CY2022Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
246837000 | |
CY2023Q4 | us-gaap |
Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
|
5600000 | |
CY2022Q4 | us-gaap |
Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
|
6600000 | |
CY2023 | us-gaap |
Depreciation
Depreciation
|
61600000 | |
CY2022 | us-gaap |
Depreciation
Depreciation
|
52900000 | |
CY2021 | us-gaap |
Depreciation
Depreciation
|
42900000 | |
CY2023 | us-gaap |
Number Of Reporting Units
NumberOfReportingUnits
|
2 | |
CY2022Q4 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2023Q4 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2022Q4 | us-gaap |
Goodwill Gross
GoodwillGross
|
2729015000 | |
CY2023 | us-gaap |
Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
|
74181000 | |
CY2023 | us-gaap |
Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
|
1393000 | |
CY2023Q4 | us-gaap |
Goodwill Gross
GoodwillGross
|
2804589000 | |
CY2023Q4 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
762021000 | |
CY2023Q4 | us-gaap |
Goodwill
Goodwill
|
2042568000 | |
CY2021Q4 | us-gaap |
Goodwill Gross
GoodwillGross
|
2711784000 | |
CY2022 | us-gaap |
Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
|
18692000 | |
CY2022 | us-gaap |
Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
|
-1461000 | |
CY2022Q4 | us-gaap |
Goodwill Gross
GoodwillGross
|
2729015000 | |
CY2022Q4 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
762021000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
827793000 | |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
782316000 | |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
783843000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
236735000 | |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
167349000 | |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
99634000 | |
CY2023Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
591058000 | |
CY2022Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
614967000 | |
CY2021Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
684209000 | |
CY2023 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
69139000 | |
CY2022 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
67620000 | |
CY2021 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
36501000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
827793000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
236735000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
591058000 | |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
782316000 | |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
167349000 | |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
614967000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
70636000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
70636000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
70636000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
69417000 | |
CY2023Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
68921000 | |
CY2023Q4 | us-gaap |
Deferred Finance Costs Net
DeferredFinanceCostsNet
|
14472000 | |
CY2022Q4 | us-gaap |
Deferred Finance Costs Net
DeferredFinanceCostsNet
|
17352000 | |
CY2023Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
1420067000 | |
CY2022Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
1457325000 | |
CY2023Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
47039000 | |
CY2022Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
40068000 | |
CY2023Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
1373028000 | |
CY2022Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
1417257000 | |
CY2023Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
|
47039000 | |
CY2023Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
|
48750000 | |
CY2023Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
|
438750000 | |
CY2023Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal After Year Five
LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
|
900000000 | |
CY2023Q4 | us-gaap |
Debt Instrument Carrying Amount
DebtInstrumentCarryingAmount
|
1434539000 | |
CY2023 | bld |
Debt Instrument Covenant Net Leverage Ratio
DebtInstrumentCovenantNetLeverageRatio
|
3.50 | |
CY2023 | bld |
Fair Value Assets And Liabilities Level1 Level2 And Level3 Transfers Amount
FairValueAssetsAndLiabilitiesLevel1Level2AndLevel3TransfersAmount
|
0 | |
CY2023 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
5194694000 | |
CY2022 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
5008744000 | |
CY2021 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
3486207000 | |
CY2023 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
878825000 | |
CY2022 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
797164000 | |
CY2021 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
476419000 | |
CY2023 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-53342000 | |
CY2022 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-55029000 | |
CY2021 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-42976000 | |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
825483000 | |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
742135000 | |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
433443000 | |
CY2023 | us-gaap |
Segment Expenditure Addition To Long Lived Assets
SegmentExpenditureAdditionToLongLivedAssets
|
75329000 | |
CY2022 | us-gaap |
Segment Expenditure Addition To Long Lived Assets
SegmentExpenditureAdditionToLongLivedAssets
|
74212000 | |
CY2021 | us-gaap |
Segment Expenditure Addition To Long Lived Assets
SegmentExpenditureAdditionToLongLivedAssets
|
100382000 | |
CY2023 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
132878000 | |
CY2022 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
123335000 | |
CY2021 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
79390000 | |
CY2023Q4 | us-gaap |
Assets
Assets
|
5162851000 | |
CY2022Q4 | us-gaap |
Assets
Assets
|
4606831000 | |
CY2023Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
67471000 | |
CY2022Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
75237000 | |
CY2023Q4 | us-gaap |
Accrued Insurance Current
AccruedInsuranceCurrent
|
29920000 | |
CY2022Q4 | us-gaap |
Accrued Insurance Current
AccruedInsuranceCurrent
|
28870000 | |
CY2023Q4 | bld |
Accrued Customer Rebates Current
AccruedCustomerRebatesCurrent
|
17326000 | |
CY2022Q4 | bld |
Accrued Customer Rebates Current
AccruedCustomerRebatesCurrent
|
21561000 | |
CY2023Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
18365000 | |
CY2022Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
21940000 | |
CY2023Q4 | bld |
Accrued Sales And Property Taxes Current
AccruedSalesAndPropertyTaxesCurrent
|
17002000 | |
CY2022Q4 | bld |
Accrued Sales And Property Taxes Current
AccruedSalesAndPropertyTaxesCurrent
|
15757000 | |
CY2023Q4 | us-gaap |
Interest Payable Current
InterestPayableCurrent
|
12139000 | |
CY2022Q4 | us-gaap |
Interest Payable Current
InterestPayableCurrent
|
12146000 | |
CY2023Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
24994000 | |
CY2022Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
23859000 | |
CY2023Q4 | bld |
Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
|
187217000 | |
CY2022Q4 | bld |
Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
|
199370000 | |
CY2023 | bld |
Number Of Regional Multiemployer Pension Plans In Which Entity Participates
NumberOfRegionalMultiemployerPensionPlansInWhichEntityParticipates
|
56 | |
CY2023 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
18710000 | |
CY2022 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
17946000 | |
CY2021 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
12192000 | |
CY2023 | bld |
Multiemployer Retirement Plan Expense
MultiemployerRetirementPlanExpense
|
12475000 | |
CY2022 | bld |
Multiemployer Retirement Plan Expense
MultiemployerRetirementPlanExpense
|
12788000 | |
CY2021 | bld |
Multiemployer Retirement Plan Expense
MultiemployerRetirementPlanExpense
|
12308000 | |
CY2023 | bld |
Retirement Plans Expense
RetirementPlansExpense
|
31185000 | |
CY2022 | bld |
Retirement Plans Expense
RetirementPlansExpense
|
30734000 | |
CY2021 | bld |
Retirement Plans Expense
RetirementPlansExpense
|
24500000 | |
CY2023 | bld |
Schedule Of Employer Contributions To Pension Trust Fund
ScheduleOfEmployerContributionsToPensionTrustFund
|
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;"></span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Employer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:15.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identification</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:15.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">PPA Zone Status</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Funding Plan</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contributions (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Surcharge</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:12.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">Pension Fund</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number/Plan Number</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pending / Implemented</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Imposed</b></p></td></tr><tr><td style="vertical-align:middle;width:12.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">NCT</p></td><td style="vertical-align:middle;width:0.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:middle;white-space:nowrap;width:17.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">94-6050970/001</p></td><td style="vertical-align:middle;white-space:nowrap;width:0.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:middle;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Red</p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:middle;width:7.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Red</p></td><td style="vertical-align:middle;white-space:nowrap;width:0.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:middle;white-space:nowrap;width:18.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Yes</p></td><td style="vertical-align:middle;white-space:nowrap;width:0.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:middle;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">$2,821 </p></td><td style="vertical-align:middle;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:middle;width:7.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">$3,008 </p></td><td style="vertical-align:middle;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:middle;width:7.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;">$2,326 </p></td><td style="vertical-align:middle;white-space:nowrap;width:0.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:middle;width:8.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">No</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 0pt 27pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;"></span></p> | |
CY2023Q4 | bld |
Performance Bonds Outstanding
PerformanceBondsOutstanding
|
145982000 | |
CY2022Q4 | bld |
Performance Bonds Outstanding
PerformanceBondsOutstanding
|
152434000 | |
CY2023Q4 | bld |
License And Insurance Related And Other Bonds Outstanding
LicenseAndInsuranceRelatedAndOtherBondsOutstanding
|
27415000 | |
CY2022Q4 | bld |
License And Insurance Related And Other Bonds Outstanding
LicenseAndInsuranceRelatedAndOtherBondsOutstanding
|
25439000 | |
CY2023Q4 | bld |
Bonds Outstanding
BondsOutstanding
|
173397000 | |
CY2022Q4 | bld |
Bonds Outstanding
BondsOutstanding
|
177873000 | |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
808217000 | |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
724231000 | |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
|
429731000 | |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
17266000 | |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
17904000 | |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
|
3712000 | |
CY2023 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
825483000 | |
CY2022 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
742135000 | |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
433443000 | |
CY2023 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
166175000 | |
CY2022 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
136013000 | |
CY2021 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
88930000 | |
CY2023 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
46631000 | |
CY2022 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
39978000 | |
CY2021 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
22006000 | |
CY2023 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
7193000 | |
CY2022 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
3406000 | |
CY2021 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
1039000 | |
CY2023 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-5307000 | |
CY2022 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
7016000 | |
CY2021 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-4123000 | |
CY2023 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-1253000 | |
CY2022 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-510000 | |
CY2021 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
1769000 | |
CY2023 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-2210000 | |
CY2022 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
243000 | |
CY2021 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-194000 | |
CY2023 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
211229000 | |
CY2022 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
186146000 | |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
109427000 | |
CY2023Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
6089000 | |
CY2022Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
5114000 | |
CY2023Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
6558000 | |
CY2022Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
6989000 | |
CY2023Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
2362000 | |
CY2022Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
3409000 | |
CY2023Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
21073000 | |
CY2022Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
18980000 | |
CY2023Q4 | bld |
Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
|
16887000 | |
CY2022Q4 | bld |
Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
|
13212000 | |
CY2023Q4 | bld |
Deferred Tax Assets Long Term Liabilities
DeferredTaxAssetsLongTermLiabilities
|
11925000 | |
CY2022Q4 | bld |
Deferred Tax Assets Long Term Liabilities
DeferredTaxAssetsLongTermLiabilities
|
10934000 | |
CY2023Q4 | bld |
Deferred Tax Assets Long Term Lease Liability
DeferredTaxAssetsLongTermLeaseLiability
|
37515000 | |
CY2022Q4 | bld |
Deferred Tax Assets Long Term Lease Liability
DeferredTaxAssetsLongTermLeaseLiability
|
35451000 | |
CY2023Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
1254000 | |
CY2022Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
6655000 | |
CY2023Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
103663000 | |
CY2022Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
100744000 | |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
52441000 | |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
49120000 | |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
46350000 | |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
46031000 | |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
|
246343000 | |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
|
254101000 | |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
|
2459000 | |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
|
2973000 | |
CY2023Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
347593000 | |
CY2022Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
352225000 | |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
243930000 | |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
251481000 | |
CY2022Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
0 | |
CY2023Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
0 | |
CY2023Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
243900000 | |
CY2022Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
251500000 | |
CY2023Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards Subject To Expiration
DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
|
1300000 | |
CY2022Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards Subject To Expiration
DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
|
2100000 | |
CY2023 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | |
CY2022 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | |
CY2023 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.043 | |
CY2022 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.042 | |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.043 | |
CY2023 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-0.001 | |
CY2022 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-0.002 | |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-0.005 | |
CY2023 | bld |
Effective Income Tax Rate Reconciliation Effect Of Rates Different Than Statutory
EffectiveIncomeTaxRateReconciliationEffectOfRatesDifferentThanStatutory
|
0.001 | |
CY2022 | bld |
Effective Income Tax Rate Reconciliation Effect Of Rates Different Than Statutory
EffectiveIncomeTaxRateReconciliationEffectOfRatesDifferentThanStatutory
|
0.001 | |
CY2023 | bld |
Effective Income Tax Rate Reconciliation Non Deductible Non Taxable Expense Percent
EffectiveIncomeTaxRateReconciliationNonDeductibleNonTaxableExpensePercent
|
0.002 | |
CY2022 | bld |
Effective Income Tax Rate Reconciliation Non Deductible Non Taxable Expense Percent
EffectiveIncomeTaxRateReconciliationNonDeductibleNonTaxableExpensePercent
|
0.001 | |
CY2021 | bld |
Effective Income Tax Rate Reconciliation Non Deductible Non Taxable Expense Percent
EffectiveIncomeTaxRateReconciliationNonDeductibleNonTaxableExpensePercent
|
0.001 | |
CY2023 | us-gaap |
Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
|
0.001 | |
CY2022 | us-gaap |
Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
|
-0.001 | |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
|
0.003 | |
CY2023 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.256 | |
CY2022 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.251 | |
CY2021 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.252 | |
CY2023 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
1400000 | |
CY2022 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
1700000 | |
CY2021 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
2400000 | |
CY2023 | us-gaap |
Net Income Loss
NetIncomeLoss
|
614254000 | |
CY2022 | us-gaap |
Net Income Loss
NetIncomeLoss
|
555989000 | |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
324016000 | |
CY2023 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
31597508 | |
CY2022 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
32213839 | |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
32801906 | |
CY2023 | bld |
Incremental Common Shares Attributable To Dilutive Effect Of Stock Options
IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
|
85861 | |
CY2022 | bld |
Incremental Common Shares Attributable To Dilutive Effect Of Stock Options
IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
|
105205 | |
CY2021 | bld |
Incremental Common Shares Attributable To Dilutive Effect Of Stock Options
IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
|
130150 | |
CY2023 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
31776901 | |
CY2022 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
32440405 | |
CY2021 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
33146171 | |
CY2023 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
19.44 | |
CY2022 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
17.26 | |
CY2021 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
9.88 | |
CY2023 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
19.33 | |
CY2022 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
17.14 | |
CY2021 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
9.78 | |
CY2023 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
4380 | |
CY2022 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
45296 | |
CY2021 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
27253 | |
CY2023 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
15838000 | |
CY2022 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
12310000 | |
CY2021 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
11316000 | |
CY2023 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
1356000 | |
CY2022 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
1733000 | |
CY2021 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
2419000 | |
CY2023 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested And Expected To Vest Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
|
P5Y3M18D | |
CY2023 | bld |
Schedule Of Unrecognized Share Based Compensation Expense Nonvested Awards
ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards
|
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We had unrecognized share-based compensation expense relating to unvested awards as shown in the following table, dollars in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;"></span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:59.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"></span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.76%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"></span></p></td><td colspan="2" style="vertical-align:bottom;width:18.62%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrecognized Compensation Expense </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">on Unvested Awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td colspan="2" style="vertical-align:bottom;width:18.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Remaining</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Compensation Expense Period</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt 0pt 0pt 12pt;">RSAs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;"> 0.9</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;"> 0.1</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">Total unrecognized compensation expense related to unvested awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:justify;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td></tr></table> | |
CY2023Q4 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
|
19254000 | |
CY2023 | us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
16200000 | |
CY2022 | us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
1300000 | |
CY2023Q4 | ecd |
Rule10b51 Arr Adopted Flag
Rule10b51ArrAdoptedFlag
|
false | |
CY2023Q4 | ecd |
Non Rule10b51 Arr Adopted Flag
NonRule10b51ArrAdoptedFlag
|
false | |
CY2023Q4 | ecd |
Rule10b51 Arr Trmntd Flag
Rule10b51ArrTrmntdFlag
|
false | |
CY2023Q4 | ecd |
Non Rule10b51 Arr Trmntd Flag
NonRule10b51ArrTrmntdFlag
|
false |