2021 Q4 Form 10-K Financial Statement

#000155837022001590 Filed on February 22, 2022

View on sec.gov

Income Statement

Concept 2021 Q4 2021 2020 Q4
Revenue $1.063B $3.486B $721.5M
YoY Change 47.39% 28.26% 8.93%
Cost Of Revenue $780.2M $2.512B $523.5M
YoY Change 49.04% 27.4% 6.62%
Gross Profit $283.2M $974.4M $198.0M
YoY Change 43.0% 30.55% 15.59%
Gross Profit Margin 26.63% 27.95% 27.45%
Selling, General & Admin $152.8M $498.0M $94.40M
YoY Change 61.88% 27.26% -0.53%
% of Gross Profit 53.97% 51.11% 47.67%
Research & Development
YoY Change
% of Gross Profit
Depreciation & Amortization $28.38M $79.39M $14.90M
YoY Change 90.5% 27.21% 8.76%
% of Gross Profit 10.02% 8.15% 7.52%
Operating Expenses $152.8M $498.0M $94.40M
YoY Change 61.88% 27.26% -0.53%
Operating Profit $130.3M $476.4M $103.1M
YoY Change 26.45% 34.19% 34.88%
Interest Expense -$10.93M $29.14M -$7.700M
YoY Change 41.99% -10.21% -15.38%
% of Operating Profit -8.39% 6.12% -7.47%
Other Income/Expense, Net -$206.0K -$42.98M $100.0K
YoY Change -306.0% 34.48% -83.33%
Pretax Income $107.3M $433.4M $95.40M
YoY Change 12.5% 34.16% 40.5%
Income Tax $28.97M $109.4M $24.70M
% Of Pretax Income 26.99% 25.25% 25.89%
Net Earnings $78.36M $324.0M $70.76M
YoY Change 10.74% 31.17% 53.87%
Net Earnings / Revenue 7.37% 9.29% 9.81%
Basic Earnings Per Share $9.88 $2.16
Diluted Earnings Per Share $2.366M $9.78 $2.13
COMMON SHARES
Basic Shares Outstanding 32.93M 32.80M 33.02M
Diluted Shares Outstanding 33.15M

Balance Sheet

Concept 2021 Q4 2021 2020 Q4
SHORT-TERM ASSETS
Cash & Short-Term Investments $139.8M $139.8M $330.0M
YoY Change -57.64% -57.64% 78.57%
Cash & Equivalents $139.8M $139.8M $330.0M
Short-Term Investments
Other Short-Term Assets $26.69M $26.69M $17.70M
YoY Change 50.8% 50.8% 3.51%
Inventory $352.8M $352.8M $161.4M
Prepaid Expenses
Receivables $668.4M $668.4M $427.3M
Other Receivables $0.00 $0.00 $0.00
Total Short-Term Assets $1.188B $1.188B $936.4M
YoY Change 26.84% 26.84% 20.08%
LONG-TERM ASSETS
Property, Plant & Equipment $234.8M $421.8M $180.1M
YoY Change 30.42% 60.06% 1.11%
Goodwill $1.950B $1.411B
YoY Change 38.21% 3.13%
Intangibles $684.2M $190.6M
YoY Change 258.97% 5.24%
Long-Term Investments
YoY Change
Other Assets $13.21M $15.12M $11.32M
YoY Change 16.74% 7.97% 101.26%
Total Long-Term Assets $3.071B $3.071B $1.879B
YoY Change 63.44% 63.44% 3.0%
TOTAL ASSETS
Total Short-Term Assets $1.188B $1.188B $936.4M
Total Long-Term Assets $3.071B $3.071B $1.879B
Total Assets $4.259B $4.259B $2.815B
YoY Change 51.26% 51.26% 8.12%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $461.9M $461.9M $331.7M
YoY Change 39.25% 39.26% 7.71%
Accrued Expenses $216.2M $216.2M $134.9M
YoY Change 60.25% 60.25% 13.94%
Deferred Revenue $14.31M $6.542M
YoY Change 118.76% -59.46%
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due $38.64M $41.03M $23.33M
YoY Change 65.65% 76.08% -31.94%
Total Short-Term Liabilities $733.4M $733.4M $496.5M
YoY Change 47.73% 47.72% 4.14%
LONG-TERM LIABILITIES
Long-Term Debt $1.454B $1.462B $683.4M
YoY Change 112.83% 113.97% -2.09%
Other Long-Term Liabilities $960.0K $178.2M $13.64M
YoY Change -92.96% 50.99% 817.42%
Total Long-Term Liabilities $1.455B $1.640B $697.0M
YoY Change 108.8% 104.7% -0.34%
TOTAL LIABILITIES
Total Short-Term Liabilities $733.4M $733.4M $496.5M
Total Long-Term Liabilities $1.455B $1.640B $697.0M
Total Liabilities $2.622B $2.622B $1.466B
YoY Change 78.8% 78.8% 1.06%
SHAREHOLDERS EQUITY
Retained Earnings $1.201B $876.7M
YoY Change 36.96% 38.52%
Common Stock $873.4M $858.8M
YoY Change 1.7% 1.03%
Preferred Stock
YoY Change
Treasury Stock (at cost) $431.0M $386.7M
YoY Change 11.47% 17.17%
Treasury Stock Shares $6.238M $6.011M
Shareholders Equity $1.636B $1.636B $1.349B
YoY Change
Total Liabilities & Shareholders Equity $4.259B $4.259B $2.815B
YoY Change 51.26% 51.26% 8.12%

Cashflow Statement

Concept 2021 Q4 2021 2020 Q4
OPERATING ACTIVITIES
Net Income $78.36M $324.0M $70.76M
YoY Change 10.74% 31.17% 53.87%
Depreciation, Depletion And Amortization $28.38M $79.39M $14.90M
YoY Change 90.5% 27.21% 8.76%
Cash From Operating Activities $93.52M $403.0M $102.2M
YoY Change -8.49% 12.61% 14.83%
INVESTING ACTIVITIES
Capital Expenditures -$13.23M $55.55M -$13.70M
YoY Change -3.46% 35.68% 20.18%
Acquisitions $1.267B
YoY Change 1419.18%
Other Investing Activities -$1.062B -$1.267B -$61.80M
YoY Change 1618.4% 1465.76% 15350.0%
Cash From Investing Activities -$1.075B -$1.322B -$75.60M
YoY Change 1322.22% 984.85% 540.68%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net $35.56M
YoY Change -27.66%
Debt Paid & Issued, Net $433.1M
YoY Change 33.27%
Cash From Financing Activities 793.6M 729.0M -11.90M
YoY Change -6768.6% -902.86% -81.41%
NET CHANGE
Cash From Operating Activities 93.52M 403.0M 102.2M
Cash From Investing Activities -1.075B -1.322B -75.60M
Cash From Financing Activities 793.6M 729.0M -11.90M
Net Change In Cash -188.1M -190.2M 14.70M
YoY Change -1379.67% -231.01% 11.36%
FREE CASH FLOW
Cash From Operating Activities $93.52M $403.0M $102.2M
Capital Expenditures -$13.23M $55.55M -$13.70M
Free Cash Flow $106.7M $347.5M $115.9M
YoY Change -7.9% 9.63% 15.44%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2021 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2021
CY2021 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2021 dei Amendment Flag
AmendmentFlag
false
CY2021Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2020Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2021 dei Entity Central Index Key
EntityCentralIndexKey
0001633931
CY2021 dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
CY2021Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
3578000
CY2021Q4 us-gaap Finance Lease Right Of Use Asset Statement Of Financial Position Extensible List
FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2021-01-31#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
CY2021Q4 us-gaap Preferred Stock Value
PreferredStockValue
CY2020Q4 us-gaap Preferred Stock Value
PreferredStockValue
CY2020Q4 us-gaap Finance Lease Right Of Use Asset Statement Of Financial Position Extensible List
FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
http://fasb.org/us-gaap/2021-01-31#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
CY2021 dei Document Type
DocumentType
10-K
CY2021 dei Document Annual Report
DocumentAnnualReport
true
CY2021 dei Document Period End Date
DocumentPeriodEndDate
2021-12-31
CY2021 dei Document Transition Report
DocumentTransitionReport
false
CY2021 dei Entity File Number
EntityFileNumber
001-36870
CY2021 dei Entity Registrant Name
EntityRegistrantName
TopBuild Corp
CY2021 dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
DE
CY2021 dei Entity Tax Identification Number
EntityTaxIdentificationNumber
47-3096382
CY2021 dei Entity Address Address Line1
EntityAddressAddressLine1
475 North Williamson Boulevard
CY2021 dei Entity Address City Or Town
EntityAddressCityOrTown
Daytona Beach
CY2021 dei Entity Address State Or Province
EntityAddressStateOrProvince
FL
CY2021 dei Entity Address Postal Zip Code
EntityAddressPostalZipCode
32114
CY2021 dei City Area Code
CityAreaCode
386
CY2021 dei Local Phone Number
LocalPhoneNumber
304-2200
CY2021 dei Security12b Title
Security12bTitle
Common stock, par value $0.01 per share
CY2021 dei Trading Symbol
TradingSymbol
BLD
CY2021 dei Security Exchange Name
SecurityExchangeName
NYSE
CY2021 dei Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
Yes
CY2021 dei Entity Voluntary Filers
EntityVoluntaryFilers
No
CY2021 dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
CY2021 dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2021 dei Entity Filer Category
EntityFilerCategory
Large Accelerated Filer
CY2021 dei Entity Small Business
EntitySmallBusiness
false
CY2021 dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
CY2021 dei Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
true
CY2021 dei Entity Shell Company
EntityShellCompany
false
CY2021Q2 dei Entity Public Float
EntityPublicFloat
6500000000
CY2022Q1 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
32927185
CY2021 dei Auditor Firm
AuditorFirmId
238
CY2021 dei Auditor Name
AuditorName
PricewaterhouseCoopers LLP
CY2021 dei Auditor Location
AuditorLocation
Tampa, Florida
CY2021Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
139779000
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
330007000
CY2021Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
8798000
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
6926000
CY2021Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
668419000
CY2020Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
427340000
CY2021Q4 us-gaap Inventory Net
InventoryNet
352801000
CY2020Q4 us-gaap Inventory Net
InventoryNet
161369000
CY2021Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
26692000
CY2020Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
17689000
CY2021Q4 us-gaap Assets Current
AssetsCurrent
1187691000
CY2020Q4 us-gaap Assets Current
AssetsCurrent
936405000
CY2021Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
177177000
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
83490000
CY2021Q4 us-gaap Property Plant And Equipment And Finance Lease Right Of Use Asset After Accumulated Depreciation And Amortization
PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
244574000
CY2020Q4 us-gaap Property Plant And Equipment And Finance Lease Right Of Use Asset After Accumulated Depreciation And Amortization
PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
180053000
CY2021Q4 us-gaap Goodwill
Goodwill
1949763000
CY2020Q4 us-gaap Goodwill
Goodwill
1410685000
CY2021Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
684209000
CY2020Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
190605000
CY2021Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
1905000
CY2020Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
2728000
CY2021Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
13211000
CY2020Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
11317000
CY2021Q4 us-gaap Assets
Assets
4258530000
CY2020Q4 us-gaap Assets
Assets
2815283000
CY2021Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
461917000
CY2020Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
331710000
CY2021Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
38640000
CY2020Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
23326000
CY2021Q4 bld Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
175891000
CY2020Q4 bld Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
107949000
CY2021Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
54591000
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
33492000
CY2021Q4 us-gaap Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
2387000
CY2021Q4 us-gaap Liabilities Current
LiabilitiesCurrent
733426000
CY2020Q4 us-gaap Liabilities Current
LiabilitiesCurrent
496477000
CY2021Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
1454483000
CY2020Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
683396000
CY2021Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
248243000
CY2020Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
168568000
CY2021Q4 us-gaap Accrued Insurance Noncurrent
AccruedInsuranceNoncurrent
51875000
CY2020Q4 us-gaap Accrued Insurance Noncurrent
AccruedInsuranceNoncurrent
50657000
CY2021Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
125339000
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
53749000
CY2021Q4 us-gaap Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
7770000
CY2021Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
960000
CY2020Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
13642000
CY2021Q4 us-gaap Liabilities
Liabilities
2622096000
CY2020Q4 us-gaap Liabilities
Liabilities
1466489000
CY2020Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2021Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2020Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
10000000
CY2021Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
10000000
CY2020Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2021Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2021Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2021Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2021Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
39165024
CY2021Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
32927185
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
39029913
CY2020Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
33018925
CY2021Q4 us-gaap Common Stock Value
CommonStockValue
391000
CY2020Q4 us-gaap Common Stock Value
CommonStockValue
389000
CY2021Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
6237839
CY2020Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
6010988
CY2021Q4 us-gaap Treasury Stock Value
TreasuryStockValue
431030000
CY2020Q4 us-gaap Treasury Stock Value
TreasuryStockValue
386669000
CY2021Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
873031000
CY2020Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
858414000
CY2021Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
1200676000
CY2020Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
876660000
CY2021Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-6634000
CY2021Q4 us-gaap Stockholders Equity
StockholdersEquity
1636434000
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
1348794000
CY2021Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
4258530000
CY2020Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
2815283000
CY2021 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
3486207000
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
2718038000
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
2624121000
CY2021 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
2511818000
CY2020 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
1971677000
CY2019 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
1942854000
CY2021 us-gaap Gross Profit
GrossProfit
974389000
CY2020 us-gaap Gross Profit
GrossProfit
746361000
CY2019 us-gaap Gross Profit
GrossProfit
681267000
CY2021 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
497970000
CY2020 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
391315000
CY2019 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
391744000
CY2021 us-gaap Operating Income Loss
OperatingIncomeLoss
476419000
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
355046000
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
289523000
CY2021 us-gaap Interest Expense
InterestExpense
29143000
CY2020 us-gaap Interest Expense
InterestExpense
32456000
CY2019 us-gaap Interest Expense
InterestExpense
37823000
CY2021 us-gaap Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
-13837000
CY2020 us-gaap Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
-233000
CY2021 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
4000
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
733000
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
2078000
CY2021 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-42976000
CY2020 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-31956000
CY2019 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-35745000
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
433443000
CY2021 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
9.78
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
323090000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
253778000
CY2021 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
109427000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
76067000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
62783000
CY2021 us-gaap Net Income Loss
NetIncomeLoss
324016000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
247023000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
190995000
CY2021 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
9.88
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
7.50
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
5.65
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
7.42
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
5.56
CY2021 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
32801906
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
32917971
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
33806104
CY2021 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
33146171
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
33299986
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
34376555
CY2021 us-gaap Net Income Loss
NetIncomeLoss
324016000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
247023000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
190995000
CY2021 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Gain Loss Arising During Period Net Of Tax
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
-6634000
CY2021 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
317382000
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
247023000
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
190995000
CY2021 us-gaap Net Income Loss
NetIncomeLoss
324016000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
247023000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
190995000
CY2021 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
79390000
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
62410000
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
52700000
CY2021 us-gaap Share Based Compensation
ShareBasedCompensation
11316000
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
14752000
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
13658000
CY2021 us-gaap Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
-13837000
CY2020 us-gaap Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
-233000
CY2021 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-1356000
CY2020 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
88000
CY2019 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-1399000
CY2021 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
2036000
CY2020 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
1491000
CY2019 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
1558000
CY2021 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
7304000
CY2020 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
6270000
CY2019 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
7065000
CY2021 us-gaap Inventory Write Down
InventoryWriteDown
2637000
CY2020 us-gaap Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
4070000
CY2020 us-gaap Inventory Write Down
InventoryWriteDown
2512000
CY2019 us-gaap Inventory Write Down
InventoryWriteDown
2622000
CY2021 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
-255000
CY2021 us-gaap Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
2818000
CY2019 us-gaap Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
-8888000
CY2021 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
69042000
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-2612000
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
27146000
CY2021 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
46518000
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
11843000
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-17433000
CY2021 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
-558000
CY2020 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
460000
CY2019 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
-9361000
CY2021 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
54961000
CY2020 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
16844000
CY2019 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-5124000
CY2021 us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
24816000
CY2020 us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
20545000
CY2019 us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
-2690000
CY2021 us-gaap Payment For Contingent Consideration Liability Operating Activities
PaymentForContingentConsiderationLiabilityOperatingActivities
22000
CY2020 us-gaap Payment For Contingent Consideration Liability Operating Activities
PaymentForContingentConsiderationLiabilityOperatingActivities
413000
CY2021 us-gaap Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
-1057000
CY2020 us-gaap Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
66000
CY2019 us-gaap Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
1058000
CY2021 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
403025000
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
357884000
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
271777000
CY2021 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
55546000
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
40938000
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
45536000
CY2021 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
1267114000
CY2020 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
83408000
CY2019 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
6952000
CY2021 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
415000
CY2020 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
2463000
CY2019 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
2321000
CY2019 us-gaap Payments For Proceeds From Other Investing Activities
PaymentsForProceedsFromOtherInvestingActivities
-25000
CY2021 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-1322245000
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-121883000
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-50142000
CY2021 us-gaap Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
1218750000
CY2020 us-gaap Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
300000000
CY2019 us-gaap Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
14989000
CY2021 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
433070000
CY2020 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
324948000
CY2019 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
27793000
CY2021 us-gaap Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
14965000
CY2020 us-gaap Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
2280000
CY2021 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
8805000
CY2020 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
14932000
CY2019 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
12951000
CY2021 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
3303000
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
1438000
CY2021 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
35556000
CY2020 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
49151000
CY2019 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
110911000
CY2021 us-gaap Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
650000
CY2020 us-gaap Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
928000
CY2019 us-gaap Payment For Contingent Consideration Liability Financing Activities
PaymentForContingentConsiderationLiabilityFinancingActivities
1091000
CY2021 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
729007000
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-90801000
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-137757000
CY2021 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
-15000
CY2021 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-190228000
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
145200000
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
83878000
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
330007000
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
184807000
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
100929000
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
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
184807000
CY2021 us-gaap Interest Paid Net
InterestPaidNet
22144000
CY2020 us-gaap Interest Paid Net
InterestPaidNet
30896000
CY2019 us-gaap Interest Paid Net
InterestPaidNet
36244000
CY2021 us-gaap Income Taxes Paid
IncomeTaxesPaid
109179000
CY2020 us-gaap Income Taxes Paid
IncomeTaxesPaid
77689000
CY2019 us-gaap Income Taxes Paid
IncomeTaxesPaid
43310000
CY2021 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
131909000
CY2020 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
38646000
CY2019 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
128838000
CY2021 us-gaap Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
10469000
CY2021 us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
1060000
CY2020 us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
645000
CY2019 us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
542000
CY2019Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2021Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
1072098000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
190995000
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
13658000
CY2019 us-gaap Stock Issued During Period Shares Restricted Stock Award Gross
StockIssuedDuringPeriodSharesRestrictedStockAwardGross
129870
CY2019 bld Treasury Stock Shares Acquired Cost Method Settlement Of Accelerated Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodSettlementOfAcceleratedShareRepurchaseProgram
176327
CY2019 bld Treasury Stock Shares Acquired Cost Method Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram
722943
CY2019 bld Treasury Stock Value Acquired Cost Method Share Repurchase Program
TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram
60886000
CY2019 bld Treasury Stock Shares Acquired Cost Method Accelerated Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodAcceleratedShareRepurchaseProgram
392501
CY2019 bld Treasury Stock Value Acquired Cost Method Accelerated Share Repurchase Program
TreasuryStockValueAcquiredCostMethodAcceleratedShareRepurchaseProgram
50025000
CY2019 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
228916
CY2019 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
12951000
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
1152889000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
247023000
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
14752000
CY2020 us-gaap Stock Issued During Period Shares Restricted Stock Award Gross
StockIssuedDuringPeriodSharesRestrictedStockAwardGross
76041
CY2020 bld Treasury Stock Shares Acquired Cost Method Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram
542772
CY2020 bld Treasury Stock Value Acquired Cost Method Share Repurchase Program
TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram
49151000
CY2020 bld Treasury Stock Shares Acquired Cost Method Settlement Of Accelerated Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodSettlementOfAcceleratedShareRepurchaseProgram
73455
CY2020 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
142822
CY2020 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
14932000
CY2020 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
19242
CY2020 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
1438000
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
62675
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
CY2021 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2021 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><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;visibility:hidden;">​</span></p>
CY2021Q4 us-gaap Insurance Settlements Receivable Noncurrent
InsuranceSettlementsReceivableNoncurrent
13200000
CY2020Q4 us-gaap Insurance Settlements Receivable Noncurrent
InsuranceSettlementsReceivableNoncurrent
11200000
CY2021 us-gaap Advertising Expense
AdvertisingExpense
1700000
CY2020 us-gaap Advertising Expense
AdvertisingExpense
1400000
CY2019 us-gaap Advertising Expense
AdvertisingExpense
1700000
CY2021Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
177177000
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
83490000
CY2021Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
9743000
CY2021Q4 bld Operating And Finance Lease Right Of Use Asset
OperatingAndFinanceLeaseRightOfUseAsset
186920000
CY2020Q4 bld Operating And Finance Lease Right Of Use Asset
OperatingAndFinanceLeaseRightOfUseAsset
83490000
CY2021Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
54591000
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
33492000
CY2021Q4 us-gaap Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
2387000
CY2021Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
125339000
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
53749000
CY2021Q4 us-gaap Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
7770000
CY2021Q4 bld Operating And Finance Lease Liability
OperatingAndFinanceLeaseLiability
190087000
CY2020Q4 bld Operating And Finance Lease Liability
OperatingAndFinanceLeaseLiability
87241000
CY2021Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P4Y1M6D
CY2020Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P3Y4M24D
CY2021Q4 us-gaap Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
P4Y4M24D
CY2021Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.031
CY2020Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.038
CY2021Q4 us-gaap Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
0.029
CY2021 us-gaap Operating Lease Cost
OperatingLeaseCost
55824000
CY2020 us-gaap Operating Lease Cost
OperatingLeaseCost
47731000
CY2019 us-gaap Operating Lease Cost
OperatingLeaseCost
52194000
CY2021 us-gaap Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
673000
CY2021 us-gaap Finance Lease Interest Expense
FinanceLeaseInterestExpense
24000
CY2021 us-gaap Short Term Lease Cost
ShortTermLeaseCost
15258000
CY2020 us-gaap Short Term Lease Cost
ShortTermLeaseCost
12397000
CY2019 us-gaap Short Term Lease Cost
ShortTermLeaseCost
12552000
CY2021 us-gaap Sublease Income
SubleaseIncome
882000
CY2020 us-gaap Sublease Income
SubleaseIncome
727000
CY2019 us-gaap Sublease Income
SubleaseIncome
574000
CY2021 us-gaap Lease Cost
LeaseCost
70897000
CY2020 us-gaap Lease Cost
LeaseCost
59401000
CY2019 us-gaap Lease Cost
LeaseCost
64172000
CY2021 us-gaap Variable Lease Cost
VariableLeaseCost
8711000
CY2020 us-gaap Variable Lease Cost
VariableLeaseCost
6177000
CY2019 us-gaap Variable Lease Cost
VariableLeaseCost
6985000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
62055000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
48495000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
37051000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
27250000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
16239000
CY2021Q4 bld Lessee Operating Lease Liability Due Year Five And After Year Five
LesseeOperatingLeaseLiabilityDueYearFiveAndAfterYearFive
12201000
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
203291000
CY2021Q4 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
13204000
CY2021Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
190087000
CY2021 us-gaap Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
74000
CY2021 us-gaap Operating Lease Payments
OperatingLeasePayments
48125000
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
41773000
CY2019 us-gaap Operating Lease Payments
OperatingLeasePayments
44801000
CY2021 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
562000
CY2021 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
3486207000
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
2718038000
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
2624121000
CY2021 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
3486207000
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
2718038000
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
2624121000
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
311900000
CY2021 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Explanation
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation
over the next 18 months
CY2021Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
531732000
CY2020Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
447661000
CY2021Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
296901000
CY2020Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
267608000
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
234831000
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
180053000
CY2021Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
9700000
CY2020Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
0
CY2021 us-gaap Depreciation
Depreciation
42900000
CY2020 us-gaap Depreciation
Depreciation
40500000
CY2019 us-gaap Depreciation
Depreciation
31900000
CY2021 us-gaap Number Of Reporting Units
NumberOfReportingUnits
2
CY2020Q4 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2021Q4 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0
CY2020Q4 us-gaap Goodwill Gross
GoodwillGross
2172706000
CY2021 us-gaap Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
543847000
CY2021 us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
-4769000
CY2021Q4 us-gaap Goodwill Gross
GoodwillGross
2711784000
CY2021Q4 us-gaap Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
762021000
CY2021Q4 us-gaap Goodwill
Goodwill
1949763000
CY2019Q4 us-gaap Goodwill Gross
GoodwillGross
2129939000
CY2020 us-gaap Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
42767000
CY2020Q4 us-gaap Goodwill Gross
GoodwillGross
2172706000
CY2020Q4 us-gaap Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
762021000
CY2020Q4 us-gaap Goodwill
Goodwill
1410685000
CY2021Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
783843000
CY2020Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
252751000
CY2019Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
221382000
CY2021Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
99634000
CY2020Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
62146000
CY2019Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
40260000
CY2021Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
684209000
CY2020Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
190605000
CY2019Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
181122000
CY2021Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
684209000
CY2020Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
190605000
CY2019Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
181122000
CY2021 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
36501000
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
21886000
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
20765000
CY2021Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
783843000
CY2021Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
99634000
CY2021Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
684209000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
67216000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
66532000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
66443000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
66443000
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
66443000
CY2021Q4 us-gaap Deferred Finance Costs Net
DeferredFinanceCostsNet
20212000
CY2020Q4 us-gaap Deferred Finance Costs Net
DeferredFinanceCostsNet
7479000
CY2021Q4 us-gaap Long Term Debt
LongTermDebt
1493123000
CY2020Q4 us-gaap Long Term Debt
LongTermDebt
706722000
CY2021Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
38640000
CY2020Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
23326000
CY2021Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
1454483000
CY2020Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
683396000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
38639000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
40075000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
47121000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Four
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
48750000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Five
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
438750000
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal After Year Five
LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
900000000
CY2021Q4 us-gaap Debt Instrument Carrying Amount
DebtInstrumentCarryingAmount
1513335000
CY2020 us-gaap Depreciation And Amortization
DepreciationAndAmortization
62410000
CY2019 us-gaap Depreciation And Amortization
DepreciationAndAmortization
52700000
CY2021Q4 us-gaap Assets
Assets
4258530000
CY2020Q4 us-gaap Assets
Assets
2815283000
CY2021 bld Debt Instrument Covenant Net Leverage Ratio
DebtInstrumentCovenantNetLeverageRatio
3.50
CY2021 bld Debt Instrument Covenant Minimum Interest Coverage Ratio
DebtInstrumentCovenantMinimumInterestCoverageRatio
3.00
CY2019 bld Fair Value Assets And Liabilities Level1 Level2 And Level3 Transfers Amount
FairValueAssetsAndLiabilitiesLevel1Level2AndLevel3TransfersAmount
0
CY2020 bld Fair Value Assets And Liabilities Level1 Level2 And Level3 Transfers Amount
FairValueAssetsAndLiabilitiesLevel1Level2AndLevel3TransfersAmount
0
CY2021 bld Fair Value Assets And Liabilities Level1 Level2 And Level3 Transfers Amount
FairValueAssetsAndLiabilitiesLevel1Level2AndLevel3TransfersAmount
0
CY2021 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
3486207000
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
2718038000
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
2624121000
CY2021 us-gaap Operating Income Loss
OperatingIncomeLoss
476419000
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
355046000
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
289523000
CY2021 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-42976000
CY2020 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-31956000
CY2019 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-35745000
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
433443000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
323090000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
253778000
CY2021 us-gaap Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
100382000
CY2020 us-gaap Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
44873000
CY2019 us-gaap Property Plant And Equipment Additions
PropertyPlantAndEquipmentAdditions
45498000
CY2021 us-gaap Depreciation And Amortization
DepreciationAndAmortization
79390000
CY2019 bld Retirement Plans Expense
RetirementPlansExpense
23256000
CY2021Q4 bld Accrued Salaries Wages And Commissions Current
AccruedSalariesWagesAndCommissionsCurrent
71664000
CY2020Q4 bld Accrued Salaries Wages And Commissions Current
AccruedSalariesWagesAndCommissionsCurrent
34584000
CY2021Q4 us-gaap Accrued Insurance Current
AccruedInsuranceCurrent
24425000
CY2020Q4 us-gaap Accrued Insurance Current
AccruedInsuranceCurrent
22007000
CY2021Q4 bld Accrued Customer Rebates Current
AccruedCustomerRebatesCurrent
15625000
CY2020Q4 bld Accrued Customer Rebates Current
AccruedCustomerRebatesCurrent
6191000
CY2021Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
14311000
CY2020Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
6542000
CY2021Q4 bld Accrued Employee Tax Related Liabilities Current
AccruedEmployeeTaxRelatedLiabilitiesCurrent
12545000
CY2020Q4 bld Accrued Employee Tax Related Liabilities Current
AccruedEmployeeTaxRelatedLiabilitiesCurrent
12603000
CY2021Q4 bld Accrued Sales And Property Taxes Current
AccruedSalesAndPropertyTaxesCurrent
9364000
CY2020Q4 bld Accrued Sales And Property Taxes Current
AccruedSalesAndPropertyTaxesCurrent
6939000
CY2021Q4 us-gaap Interest Payable Current
InterestPayableCurrent
8798000
CY2020Q4 us-gaap Interest Payable Current
InterestPayableCurrent
3924000
CY2021Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
19159000
CY2020Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
15159000
CY2021Q4 bld Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
175891000
CY2020Q4 bld Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
107949000
CY2021Q4 bld Fica Taxes Deferred Under Cares Act
FicaTaxesDeferredUnderCaresAct
10200000
CY2020Q4 bld Fica Taxes Deferred Under Cares Act
FicaTaxesDeferredUnderCaresAct
12000000.0
CY2021 bld Number Of Regional Multiemployer Pension Plans In Which Entity Participates
NumberOfRegionalMultiemployerPensionPlansInWhichEntityParticipates
47
CY2021 us-gaap Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
12192000
CY2020 us-gaap Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
10251000
CY2019 us-gaap Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
10015000
CY2021 bld Multiemployer Retirement Plan Expense
MultiemployerRetirementPlanExpense
12308000
CY2020 bld Multiemployer Retirement Plan Expense
MultiemployerRetirementPlanExpense
11754000
CY2019 bld Multiemployer Retirement Plan Expense
MultiemployerRetirementPlanExpense
13241000
CY2021 bld Retirement Plans Expense
RetirementPlansExpense
24500000
CY2020 bld Retirement Plans Expense
RetirementPlansExpense
22005000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
2819000
CY2021Q4 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
5961000
CY2020Q4 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
2347000
CY2021 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.42%;"><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.68%;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.2%;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.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.05%;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.68%;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.58%;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-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-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-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.05%;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: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-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-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.68%;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.58%;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.74%;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.68%;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;">2021</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.2%;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;">2020</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;">2021</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.05%;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;">2020</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;">2019</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.68%;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.2%;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,326 </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.05%;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,710 </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;">$3,810 </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>
CY2021Q4 bld Performance Bonds Outstanding
PerformanceBondsOutstanding
128173000
CY2020Q4 bld Performance Bonds Outstanding
PerformanceBondsOutstanding
102534000
CY2021Q4 bld License And Insurance Related And Other Bonds Outstanding
LicenseAndInsuranceRelatedAndOtherBondsOutstanding
21792000
CY2020Q4 bld License And Insurance Related And Other Bonds Outstanding
LicenseAndInsuranceRelatedAndOtherBondsOutstanding
27633000
CY2021Q4 bld Bonds Outstanding
BondsOutstanding
149965000
CY2020Q4 bld Bonds Outstanding
BondsOutstanding
130167000
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
429731000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
323090000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
253778000
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
3712000
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
433443000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
323090000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
253778000
CY2021 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
88930000
CY2020 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
66792000
CY2019 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
46320000
CY2021 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
22006000
CY2020 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
13345000
CY2019 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
7575000
CY2021 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
1039000
CY2021 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-4123000
CY2020 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-8087000
CY2019 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-543000
CY2021 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
1769000
CY2020 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
4017000
CY2019 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
9431000
CY2021 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-194000
CY2021Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
4219000
CY2020Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
3396000
CY2021Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
19206000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
12119000
CY2021Q4 bld Deferred Tax Assets Long Term Liabilities
DeferredTaxAssetsLongTermLiabilities
9821000
CY2020Q4 bld Deferred Tax Assets Long Term Liabilities
DeferredTaxAssetsLongTermLiabilities
9712000
CY2021Q4 bld Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
14367000
CY2021 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
109427000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
76067000
CY2020Q4 bld Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
8474000
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
7577000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
62783000
CY2021Q4 bld Deferred Tax Assets Long Term Lease Liability
DeferredTaxAssetsLongTermLeaseLiability
33526000
CY2021Q4 us-gaap Deferred Tax Assets Other Tax Carryforwards
DeferredTaxAssetsOtherTaxCarryforwards
11108000
CY2021 us-gaap Net Income Loss
NetIncomeLoss
324016000
CY2020Q4 bld Deferred Tax Assets Long Term Lease Liability
DeferredTaxAssetsLongTermLeaseLiability
13533000
CY2021Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
7747000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
0.002
CY2019 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
0.003
CY2021Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
109533000
CY2020Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
59977000
CY2021Q4 us-gaap Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
48300000
CY2020Q4 us-gaap Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
21064000
CY2021Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
42150000
CY2020Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
33111000
CY2021Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
263327000
CY2020Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
169710000
CY2021Q4 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
2094000
CY2020Q4 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
1932000
CY2021Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
355871000
CY2020Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
225817000
CY2021Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
246338000
CY2020Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
165840000
CY2020Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
0
CY2021Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
0
CY2021Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
246300000
CY2021Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
1900000
CY2021Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
248200000
CY2020Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
165800000
CY2020Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
2700000
CY2020Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
168600000
CY2021Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards Subject To Expiration
DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
5300000
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards Subject To Expiration
DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
7500000
CY2021 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2019 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2021 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.043
CY2020 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.042
CY2019 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.053
CY2021 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
0.005
CY2020 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
0.021
CY2019 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
0.022
CY2021 bld Effective Income Tax Rate Reconciliation Non Deductible Non Taxable Expense Percent
EffectiveIncomeTaxRateReconciliationNonDeductibleNonTaxableExpensePercent
0.001
CY2020 bld Effective Income Tax Rate Reconciliation Non Deductible Non Taxable Expense Percent
EffectiveIncomeTaxRateReconciliationNonDeductibleNonTaxableExpensePercent
0.002
CY2019 bld Effective Income Tax Rate Reconciliation Non Deductible Non Taxable Expense Percent
EffectiveIncomeTaxRateReconciliationNonDeductibleNonTaxableExpensePercent
0.003
CY2021 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
0.003
CY2021 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.252
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.235
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.247
CY2021 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
2400000
CY2020 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
7800000
CY2019 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
6300000
CY2021Q4 us-gaap Liability For Uncertain Tax Positions Current
LiabilityForUncertainTaxPositionsCurrent
0
CY2020 us-gaap Net Income Loss
NetIncomeLoss
247023000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
190995000
CY2021 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
32801906
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
32917971
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
33806104
CY2021 bld Incremental Common Shares Attributable To Dilutive Effect Of Stock Options
IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
130150
CY2020 bld Incremental Common Shares Attributable To Dilutive Effect Of Stock Options
IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
138354
CY2019 bld Incremental Common Shares Attributable To Dilutive Effect Of Stock Options
IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
225049
CY2021 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
33146171
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
33299986
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
34376555
CY2021 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
9.88
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
7.50
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
5.65
CY2021 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
9.78
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
7.42
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
5.56
CY2021 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
27253
CY2020 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
35221
CY2019 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
63308
CY2021 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
11316000
CY2020 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
14752000
CY2019 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
13658000
CY2021 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
2419000
CY2020 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
7772000
CY2019 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
6285000
CY2021 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested And Expected To Vest Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
P5Y8M12D
CY2021 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.48%;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.62%;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.61%;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.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:1.61%;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.61%;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:16.96%;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.48%;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.62%;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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.88%;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, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.48%;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.62%;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 colspan="2" style="vertical-align:bottom;width:18.69%;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.61%;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.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;">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;">Vesting Period</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.48%;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.62%;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.61%;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.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;"> 10,574</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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.61%;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:16.96%;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.8</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.48%;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.62%;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.61%;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.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:right;margin:0pt 3pt 0pt 0pt;"> 1,317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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.61%;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:16.96%;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;"> 1.0</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.48%;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.62%;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.61%;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.07%;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;"> 11,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;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.61%;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:16.96%;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>
CY2021Q4 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Share Based Awards Other Than Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
10574000
CY2021 bld Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Outstanding Weighted Average Remaining Vesting Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingVestingPeriod
P0Y9M18D
CY2021Q4 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Stock Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
1317000
CY2021 bld Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Remaining Vesting Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageRemainingVestingPeriod
P1Y
CY2021Q4 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
11891000
CY2021 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
15300000
CY2020 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
900000
CY2021 bld Business Acquisition Pro Forma Information Effective Income Tax Rate
BusinessAcquisitionProFormaInformationEffectiveIncomeTaxRate
0.26
CY2021 us-gaap Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
1267124000
CY2021 bld Business Combination Consideration Transferred Liabilities Incurred Contingent Consideration
BusinessCombinationConsiderationTransferredLiabilitiesIncurredContingentConsideration
1200000
CY2021 us-gaap Business Combination Consideration Transferred1
BusinessCombinationConsiderationTransferred1
1268324000
CY2021 us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
183136
CY2020 us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
616227
CY2021 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
35556000
CY2020 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
49151000

Files In Submission

Name View Source Status
0001558370-22-001590-index-headers.html Edgar Link pending
0001558370-22-001590-index.html Edgar Link pending
0001558370-22-001590.txt Edgar Link pending
0001558370-22-001590-xbrl.zip Edgar Link pending
bld-20211231.xsd Edgar Link pending
bld-20211231x10k.htm Edgar Link pending
bld-20211231x10k002.jpg Edgar Link pending
bld-20211231x10k003.jpg Edgar Link pending
bld-20211231x10k004.jpg Edgar Link pending
bld-20211231x10k005.jpg Edgar Link pending
bld-20211231x10k_htm.xml Edgar Link completed
bld-20211231xex10d26.htm Edgar Link pending
bld-20211231xex10d27.htm Edgar Link pending
bld-20211231xex10d28.htm Edgar Link pending
bld-20211231xex21d1.htm Edgar Link pending
bld-20211231xex23d1.htm Edgar Link pending
bld-20211231xex31d1.htm Edgar Link pending
bld-20211231xex31d2.htm Edgar Link pending
bld-20211231xex32d1.htm Edgar Link pending
bld-20211231xex32d2.htm Edgar Link pending
bld-20211231_cal.xml Edgar Link unprocessable
bld-20211231_def.xml Edgar Link unprocessable
bld-20211231_lab.xml Edgar Link unprocessable
bld-20211231_pre.xml Edgar Link unprocessable
FilingSummary.xml Edgar Link unprocessable
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
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
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending