2024 Q1 Form 10-K Financial Statement

#000155837024001999 Filed on February 28, 2024

View on sec.gov

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

Files In Submission

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