2021 Q1 Form 10-Q Financial Statement
#000155837021006206 Filed on May 06, 2021
Income Statement
Concept | 2021 Q1 | 2020 Q1 |
---|---|---|
Revenue | $742.8M | $653.2M |
YoY Change | 13.71% | 5.47% |
Cost Of Revenue | $545.0M | $481.3M |
YoY Change | 13.25% | 3.8% |
Gross Profit | $197.8M | $172.0M |
YoY Change | 15.01% | 10.44% |
Gross Profit Margin | 26.62% | 26.32% |
Selling, General & Admin | $101.9M | $102.0M |
YoY Change | -0.09% | 2.92% |
% of Gross Profit | 51.51% | 59.3% |
Research & Development | ||
YoY Change | ||
% of Gross Profit | ||
Depreciation & Amortization | $15.52M | $14.19M |
YoY Change | 9.37% | 13.75% |
% of Gross Profit | 7.85% | 8.25% |
Operating Expenses | $101.9M | $102.0M |
YoY Change | -0.09% | 2.92% |
Operating Profit | $95.89M | $69.99M |
YoY Change | 37.0% | 23.62% |
Interest Expense | $6.603M | $8.742M |
YoY Change | -24.47% | -8.96% |
% of Operating Profit | 6.89% | 12.49% |
Other Income/Expense, Net | -$20.39M | -$8.503M |
YoY Change | 139.77% | -8.26% |
Pretax Income | $75.50M | $61.49M |
YoY Change | 22.79% | 29.86% |
Income Tax | $15.66M | $10.72M |
% Of Pretax Income | 20.74% | 17.43% |
Net Earnings | $59.84M | $50.77M |
YoY Change | 17.87% | 33.67% |
Net Earnings / Revenue | 8.06% | 7.77% |
Basic Earnings Per Share | $1.82 | $1.53 |
Diluted Earnings Per Share | $1.80 | $1.51 |
COMMON SHARES | ||
Basic Shares Outstanding | 32.83M | 33.17M |
Diluted Shares Outstanding | 33.20M | 33.60M |
Balance Sheet
Concept | 2021 Q1 | 2020 Q1 |
---|---|---|
SHORT-TERM ASSETS | ||
Cash & Short-Term Investments | $319.6M | $187.0M |
YoY Change | 70.91% | 90.23% |
Cash & Equivalents | $319.6M | $187.0M |
Short-Term Investments | ||
Other Short-Term Assets | $14.30M | $10.90M |
YoY Change | 31.19% | -33.94% |
Inventory | $164.0M | $152.7M |
Prepaid Expenses | ||
Receivables | $462.8M | $431.6M |
Other Receivables | $0.00 | $0.00 |
Total Short-Term Assets | $960.7M | $782.3M |
YoY Change | 22.8% | 11.09% |
LONG-TERM ASSETS | ||
Property, Plant & Equipment | $187.0M | $185.6M |
YoY Change | 0.79% | -29.73% |
Goodwill | $1.431B | $1.380B |
YoY Change | 3.7% | |
Intangibles | $182.2M | |
YoY Change | ||
Long-Term Investments | ||
YoY Change | ||
Other Assets | $11.07M | $11.44M |
YoY Change | -3.21% | -32.71% |
Total Long-Term Assets | $1.931B | $1.850B |
YoY Change | 4.43% | 0.59% |
TOTAL ASSETS | ||
Total Short-Term Assets | $960.7M | $782.3M |
Total Long-Term Assets | $1.931B | $1.850B |
Total Assets | $2.892B | $2.632B |
YoY Change | 9.89% | 3.5% |
SHORT-TERM LIABILITIES | ||
YoY Change | ||
Accounts Payable | $330.8M | $305.6M |
YoY Change | 8.25% | 8.64% |
Accrued Expenses | $152.0M | $126.8M |
YoY Change | 19.87% | 2.42% |
Deferred Revenue | $8.091M | $15.53M |
YoY Change | -47.91% | |
Short-Term Debt | $0.00 | $0.00 |
YoY Change | ||
Long-Term Debt Due | $23.41M | $23.09M |
YoY Change | 1.36% | -20.65% |
Total Short-Term Liabilities | $514.3M | $471.1M |
YoY Change | 9.17% | 4.36% |
LONG-TERM LIABILITIES | ||
Long-Term Debt | $686.5M | $699.8M |
YoY Change | -1.89% | -1.33% |
Other Long-Term Liabilities | $13.65M | $2.007M |
YoY Change | 580.27% | -98.09% |
Total Long-Term Liabilities | $700.1M | $701.8M |
YoY Change | -0.23% | -13.83% |
TOTAL LIABILITIES | ||
Total Short-Term Liabilities | $514.3M | $471.1M |
Total Long-Term Liabilities | $700.1M | $701.8M |
Total Liabilities | $1.496B | $1.452B |
YoY Change | 3.01% | 0.83% |
SHAREHOLDERS EQUITY | ||
Retained Earnings | $936.5M | $680.4M |
YoY Change | 37.64% | |
Common Stock | $856.4M | $851.1M |
YoY Change | 0.63% | |
Preferred Stock | ||
YoY Change | ||
Treasury Stock (at cost) | $396.5M | $351.6M |
YoY Change | 12.76% | |
Treasury Stock Shares | $6.060M | $5.656M |
Shareholders Equity | $1.396B | $1.180B |
YoY Change | ||
Total Liabilities & Shareholders Equity | $2.892B | $2.632B |
YoY Change | 9.89% | 3.5% |
Cashflow Statement
Concept | 2021 Q1 | 2020 Q1 |
---|---|---|
OPERATING ACTIVITIES | ||
Net Income | $59.84M | $50.77M |
YoY Change | 17.87% | 33.67% |
Depreciation, Depletion And Amortization | $15.52M | $14.19M |
YoY Change | 9.37% | 13.75% |
Cash From Operating Activities | $89.42M | $72.93M |
YoY Change | 22.61% | 210.05% |
INVESTING ACTIVITIES | ||
Capital Expenditures | $12.28M | $15.89M |
YoY Change | -22.7% | 55.61% |
Acquisitions | $61.09M | $20.53M |
YoY Change | 197.63% | |
Other Investing Activities | -$61.00M | -$20.30M |
YoY Change | 200.49% | 126775.0% |
Cash From Investing Activities | -$73.32M | -$36.22M |
YoY Change | 102.41% | 257.87% |
FINANCING ACTIVITIES | ||
Cash Dividend Paid | ||
YoY Change | ||
Common Stock Issuance & Retirement, Net | $9.856M | $14.13M |
YoY Change | -30.23% | 205.65% |
Debt Paid & Issued, Net | $415.9M | $307.7M |
YoY Change | 35.16% | 5393.09% |
Cash From Financing Activities | -26.49M | -34.47M |
YoY Change | -23.16% | 114.78% |
NET CHANGE | ||
Cash From Operating Activities | 89.42M | 72.93M |
Cash From Investing Activities | -73.32M | -36.22M |
Cash From Financing Activities | -26.49M | -34.47M |
Net Change In Cash | -10.39M | 2.232M |
YoY Change | -565.41% | -184.19% |
FREE CASH FLOW | ||
Cash From Operating Activities | $89.42M | $72.93M |
Capital Expenditures | $12.28M | $15.89M |
Free Cash Flow | $77.14M | $57.04M |
YoY Change | 35.24% | 328.57% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2021Q1 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2020Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2021Q1 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2021Q1 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2020Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2021Q1 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0001633931 | |
CY2021Q1 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2021Q1 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--12-31 | |
CY2021Q1 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2021 | |
CY2021Q1 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
Q1 | |
CY2021Q1 | dei |
Document Type
DocumentType
|
10-Q | |
CY2021Q1 | dei |
Document Quarterly Report
DocumentQuarterlyReport
|
true | |
CY2021Q1 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2021-03-31 | |
CY2021Q1 | dei |
Document Transition Report
DocumentTransitionReport
|
false | |
CY2021Q1 | dei |
Entity File Number
EntityFileNumber
|
001-36870 | |
CY2021Q1 | dei |
Entity Registrant Name
EntityRegistrantName
|
TopBuild Corp | |
CY2021Q1 | dei |
Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
|
DE | |
CY2021Q1 | dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
47-3096382 | |
CY2021Q1 | dei |
Entity Address Address Line1
EntityAddressAddressLine1
|
475 North Williamson Boulevard | |
CY2021Q1 | dei |
Entity Address City Or Town
EntityAddressCityOrTown
|
Daytona Beach | |
CY2021Q1 | dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
FL | |
CY2021Q1 | dei |
Entity Address Postal Zip Code
EntityAddressPostalZipCode
|
32114 | |
CY2021Q1 | dei |
City Area Code
CityAreaCode
|
386 | |
CY2021Q1 | dei |
Local Phone Number
LocalPhoneNumber
|
304-2200 | |
CY2021Q1 | dei |
Security12b Title
Security12bTitle
|
Common stock, par value $0.01 per share | |
CY2021Q1 | dei |
Trading Symbol
TradingSymbol
|
BLD | |
CY2021Q1 | dei |
Security Exchange Name
SecurityExchangeName
|
NYSE | |
CY2021Q1 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | |
CY2021Q1 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | |
CY2021Q1 | dei |
Entity Filer Category
EntityFilerCategory
|
Large Accelerated Filer | |
CY2021Q1 | dei |
Entity Small Business
EntitySmallBusiness
|
false | |
CY2021Q1 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2021Q1 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2021Q2 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
33061398 | |
CY2021Q1 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
319619000 | |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
330007000 | |
CY2021Q1 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
7171000 | |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
6926000 | |
CY2021Q1 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
462848000 | |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
427340000 | |
CY2021Q1 | us-gaap |
Inventory Net
InventoryNet
|
163988000 | |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
161369000 | |
CY2021Q1 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
14255000 | |
CY2020Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
17689000 | |
CY2021Q1 | us-gaap |
Assets Current
AssetsCurrent
|
960710000 | |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
936405000 | |
CY2021Q1 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
94094000 | |
CY2020Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
83490000 | |
CY2021Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
187033000 | |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
180053000 | |
CY2021Q1 | us-gaap |
Goodwill
Goodwill
|
1430913000 | |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
1410685000 | |
CY2021Q1 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
205513000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
190605000 | |
CY2021Q1 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
2767000 | |
CY2020Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
2728000 | |
CY2021Q1 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
11072000 | |
CY2020Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
11317000 | |
CY2021Q1 | us-gaap |
Assets
Assets
|
2892102000 | |
CY2020Q4 | us-gaap |
Assets
Assets
|
2815283000 | |
CY2021Q1 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
330813000 | |
CY2020Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
331710000 | |
CY2021Q1 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
23406000 | |
CY2020Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
23326000 | |
CY2021Q1 | bld |
Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
|
124946000 | |
CY2020Q4 | bld |
Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
|
107949000 | |
CY2021Q1 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
35119000 | |
CY2020Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
33492000 | |
CY2021Q1 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
514284000 | |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
496477000 | |
CY2021Q1 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
686493000 | |
CY2020Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
683396000 | |
CY2021Q1 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
168424000 | |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
168568000 | |
CY2021Q1 | us-gaap |
Accrued Insurance Noncurrent
AccruedInsuranceNoncurrent
|
50197000 | |
CY2020Q4 | us-gaap |
Accrued Insurance Noncurrent
AccruedInsuranceNoncurrent
|
50657000 | |
CY2021Q1 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
62688000 | |
CY2020Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
53749000 | |
CY2021Q1 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
13653000 | |
CY2020Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
13642000 | |
CY2021Q1 | us-gaap |
Liabilities
Liabilities
|
1495739000 | |
CY2020Q4 | us-gaap |
Liabilities
Liabilities
|
1466489000 | |
CY2021Q1 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2021Q1 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
10000000 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
10000000 | |
CY2021Q1 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2021Q1 | 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 | |
CY2021Q1 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
250000000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
250000000 | |
CY2021Q1 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
39121670 | |
CY2021Q1 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
33061398 | |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
39029913 | |
CY2020Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
33018925 | |
CY2021Q1 | us-gaap |
Common Stock Value
CommonStockValue
|
390000 | |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
389000 | |
CY2021Q1 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
6060272 | |
CY2020Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
6010988 | |
CY2021Q1 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
396525000 | |
CY2020Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
386669000 | |
CY2021Q1 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
855996000 | |
CY2020Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
858414000 | |
CY2021Q1 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
936502000 | |
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
876660000 | |
CY2021Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1396363000 | |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1348794000 | |
CY2021Q1 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
2892102000 | |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
2815283000 | |
CY2021Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
742798000 | |
CY2020Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
653228000 | |
CY2021Q1 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
545039000 | |
CY2020Q1 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
481272000 | |
CY2021Q1 | us-gaap |
Gross Profit
GrossProfit
|
197759000 | |
CY2020Q1 | us-gaap |
Gross Profit
GrossProfit
|
171956000 | |
CY2021Q1 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
101872000 | |
CY2020Q1 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
101967000 | |
CY2021Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
95887000 | |
CY2020Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
69989000 | |
CY2021Q1 | us-gaap |
Interest Expense
InterestExpense
|
6603000 | |
CY2020Q1 | us-gaap |
Interest Expense
InterestExpense
|
8742000 | |
CY2021Q1 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-13862000 | |
CY2020Q1 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-233000 | |
CY2021Q1 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
77000 | |
CY2020Q1 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
472000 | |
CY2021Q1 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-20388000 | |
CY2020Q1 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-8503000 | |
CY2021Q1 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
61092000 | |
CY2020Q1 | us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
20526000 | |
CY2021Q1 | us-gaap |
Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
|
56000 | |
CY2020Q1 | us-gaap |
Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
|
194000 | |
CY2021Q1 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-73320000 | |
CY2020Q1 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-36224000 | |
CY2021Q1 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
411250000 | |
CY2020Q1 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
300000000 | |
CY2021Q1 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
415856000 | |
CY2020Q1 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
307668000 | |
CY2021Q1 | us-gaap |
Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
|
6500000 | |
CY2020Q1 | us-gaap |
Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
|
2280000 | |
CY2021Q1 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
11480000 | |
CY2020Q1 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
10399000 | |
CY2021Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
75499000 | |
CY2020Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
61486000 | |
CY2021Q1 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
15657000 | |
CY2020Q1 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
10715000 | |
CY2021Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
59842000 | |
CY2020Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
50771000 | |
CY2021Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.82 | |
CY2020Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.53 | |
CY2021Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.80 | |
CY2020Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.51 | |
CY2021Q1 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
32826515 | |
CY2020Q1 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
33168453 | |
CY2021Q1 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
33202563 | |
CY2020Q1 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
33599847 | |
CY2021Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
59842000 | |
CY2020Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
50771000 | |
CY2021Q1 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
15519000 | |
CY2020Q1 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
14190000 | |
CY2021Q1 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
3111000 | |
CY2020Q1 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
3908000 | |
CY2021Q1 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-13862000 | |
CY2020Q1 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-233000 | |
CY2021Q1 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-56000 | |
CY2020Q1 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-383000 | |
CY2021Q1 | us-gaap |
Amortization Of Financing Costs
AmortizationOfFinancingCosts
|
422000 | |
CY2020Q1 | us-gaap |
Amortization Of Financing Costs
AmortizationOfFinancingCosts
|
328000 | |
CY2021Q1 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
1765000 | |
CY2020Q1 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
1670000 | |
CY2021Q1 | us-gaap |
Inventory Write Down
InventoryWriteDown
|
653000 | |
CY2020Q1 | us-gaap |
Inventory Write Down
InventoryWriteDown
|
529000 | |
CY2021Q1 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
183000 | |
CY2020Q1 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
39000 | |
CY2021Q1 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
20831000 | |
CY2020Q1 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
5048000 | |
CY2021Q1 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
2088000 | |
CY2020Q1 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
3964000 | |
CY2021Q1 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-3517000 | |
CY2020Q1 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-6193000 | |
CY2021Q1 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-2244000 | |
CY2020Q1 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-4173000 | |
CY2021Q1 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
16591000 | |
CY2020Q1 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
9981000 | |
CY2021Q1 | us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
-570000 | |
CY2020Q1 | us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
-2032000 | |
CY2021Q1 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
89422000 | |
CY2020Q1 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
72930000 | |
CY2021Q1 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
12284000 | |
CY2020Q1 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
15892000 | |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
330007000 | |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
184807000 | |
CY2021Q1 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
319619000 | |
CY2020Q1 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
187039000 | |
CY2021Q1 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
20322000 | |
CY2021Q1 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
5952000 | |
CY2021Q1 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
9856000 | |
CY2020Q1 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
14127000 | |
CY2021Q1 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-26490000 | |
CY2020Q1 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-34474000 | |
CY2021Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-10388000 | |
CY2020Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
2232000 | |
CY2020Q1 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
9167000 | |
CY2021Q1 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
524000 | |
CY2020Q1 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
496000 | |
CY2020Q1 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q1 | bld |
Treasury Stock Shares Acquired Cost Method Settlement Of Accelerated Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodSettlementOfAcceleratedShareRepurchaseProgram
|
73455 | |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1152889000 | |
CY2020Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
50771000 | |
CY2020Q1 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
3908000 | |
CY2020Q1 | us-gaap |
Stock Issued During Period Shares Restricted Stock Award Gross
StockIssuedDuringPeriodSharesRestrictedStockAwardGross
|
63780 | |
CY2020Q1 | bld |
Treasury Stock Shares Acquired Cost Method Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram
|
-188100 | |
CY2020Q1 | bld |
Treasury Stock Value Acquired Cost Method Share Repurchase Program
TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram
|
14127000 | |
CY2020Q1 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
97144 | |
CY2020Q1 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
10399000 | |
CY2020Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1179817000 | |
CY2021Q1 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1348794000 | |
CY2021Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
59842000 | |
CY2021Q1 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
3111000 | |
CY2021Q1 | us-gaap |
Stock Issued During Period Shares Restricted Stock Award Gross
StockIssuedDuringPeriodSharesRestrictedStockAwardGross
|
30284 | |
CY2021Q1 | bld |
Treasury Stock Shares Acquired Cost Method Share Repurchase Program
TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram
|
49284 | |
CY2021Q1 | bld |
Treasury Stock Value Acquired Cost Method Share Repurchase Program
TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram
|
9856000 | |
CY2021Q1 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
43290 | |
CY2021Q1 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
11480000 | |
CY2021Q1 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
51915 | |
CY2021Q1 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
5952000 | |
CY2021Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
1396363000 | |
CY2021Q1 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
2 | |
CY2021Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
742798000 | |
CY2020Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
653228000 | |
CY2021Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
742798000 | |
CY2020Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
653228000 | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
283300000 | |
CY2021Q1 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Explanation
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation
|
over the next 18 months | |
CY2021Q1 | us-gaap |
Number Of Reporting Units
NumberOfReportingUnits
|
2 | |
CY2020Q4 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2020Q4 | us-gaap |
Goodwill Gross
GoodwillGross
|
2172706000 | |
CY2021Q1 | us-gaap |
Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
|
20228000 | |
CY2021Q1 | us-gaap |
Goodwill Gross
GoodwillGross
|
2192934000 | |
CY2021Q1 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
762021000 | |
CY2021Q1 | us-gaap |
Goodwill
Goodwill
|
1430913000 | |
CY2021Q1 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
273801000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
252751000 | |
CY2021Q1 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
68288000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
62146000 | |
CY2021Q1 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
205513000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
190605000 | |
CY2021Q1 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
6143000 | |
CY2020Q1 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
5272000 | |
CY2021Q1 | us-gaap |
Deferred Finance Costs Net
DeferredFinanceCostsNet
|
13500000 | |
CY2020Q4 | us-gaap |
Deferred Finance Costs Net
DeferredFinanceCostsNet
|
7479000 | |
CY2021Q1 | us-gaap |
Long Term Debt
LongTermDebt
|
709899000 | |
CY2020Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
706722000 | |
CY2021Q1 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
23406000 | |
CY2020Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
23326000 | |
CY2021Q1 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
686493000 | |
CY2020Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
683396000 | |
CY2021Q1 | us-gaap |
Long Term Debt Maturities Repayments Of Principal Remainder Of Fiscal Year
LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
|
17531000 | |
CY2021Q1 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
|
23651000 | |
CY2021Q1 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
|
26962000 | |
CY2021Q1 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
|
24630000 | |
CY2021Q1 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Four
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
|
28125000 | |
CY2021Q1 | bld |
Long Term Debt Maturities Repayments Of Principal After Year Four
LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour
|
602500000 | |
CY2021Q1 | us-gaap |
Debt Instrument Carrying Amount
DebtInstrumentCarryingAmount
|
723399000 | |
CY2021Q1 | bld |
Debt Instrument Covenant Net Leverage Ratio
DebtInstrumentCovenantNetLeverageRatio
|
3.50 | |
CY2021Q1 | bld |
Debt Instrument Covenant Minimum Interest Coverage Ratio
DebtInstrumentCovenantMinimumInterestCoverageRatio
|
3.00 | |
CY2021Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
742798000 | |
CY2020Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
653228000 | |
CY2021Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
95887000 | |
CY2020Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
69989000 | |
CY2021Q1 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-20388000 | |
CY2020Q1 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-8503000 | |
CY2021Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
75499000 | |
CY2020Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
61486000 | |
CY2021Q1 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
11810000 | |
CY2020Q1 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
12271000 | |
CY2021Q1 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
3354000 | |
CY2020Q1 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
3064000 | |
CY2021Q1 | us-gaap |
Sublease Income
SubleaseIncome
|
206000 | |
CY2020Q1 | us-gaap |
Sublease Income
SubleaseIncome
|
62000 | |
CY2021Q1 | us-gaap |
Lease Cost
LeaseCost
|
14958000 | |
CY2020Q1 | us-gaap |
Lease Cost
LeaseCost
|
15273000 | |
CY2021Q1 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
1697000 | |
CY2020Q1 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
1444000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
|
29428000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
30287000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
19595000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
12704000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
8229000 | |
CY2021Q1 | bld |
Lessee Operating Lease Liability Due Year Five And After Year Five
LesseeOperatingLeaseLiabilityDueYearFiveAndAfterYearFive
|
5218000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
105461000 | |
CY2021Q1 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
7654000 | |
CY2021Q1 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
97807000 | |
CY2021Q1 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P3Y7M6D | |
CY2021Q1 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.036 | |
CY2021Q1 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
10150000 | |
CY2020Q1 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
10801000 | |
CY2021Q1 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.207 | |
CY2020Q1 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.174 | |
CY2021Q1 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
3100000 | |
CY2020Q1 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
5500000 | |
CY2021Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
59842000 | |
CY2020Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
50771000 | |
CY2021Q1 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
32826515 | |
CY2020Q1 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
33168453 | |
CY2021Q1 | bld |
Incremental Common Shares Attributable To Dilutive Effect Of Stock Options
IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
|
144311 | |
CY2020Q1 | bld |
Incremental Common Shares Attributable To Dilutive Effect Of Stock Options
IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions
|
179371 | |
CY2021Q1 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
33202563 | |
CY2020Q1 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
33599847 | |
CY2021Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.82 | |
CY2020Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.53 | |
CY2021Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.80 | |
CY2020Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.51 | |
CY2021Q1 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
20109 | |
CY2020Q1 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
45679 | |
CY2021Q1 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
3111000 | |
CY2020Q1 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
3908000 | |
CY2021Q1 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
3093000 | |
CY2020Q1 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
5500000 | |
CY2021Q1 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested And Expected To Vest Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
|
P6Y6M | |
CY2021Q1 | 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;">Unrecognized share-based compensation expense related to unvested awards is shown in the following table, dollars in thousands:</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.4%;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;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;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;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;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;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;"></span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.04%;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;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.4%;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.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"></span></p></td><td colspan="5" style="background-color:#ffffff;vertical-align:bottom;white-space:nowrap;width:38.97%;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 March 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;"></span></p></td><td colspan="2" style="background-color:#ffffff;vertical-align:bottom;width:18.69%;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 <br/>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.65%;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<br/>Remaining<br/>Vesting Period</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:59.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.08%;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;"> 14,062</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.04%;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.4</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</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;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;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;"> 2,801</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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.04%;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.3</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total unrecognized compensation expense related to unvested awards</p></td><td style="background-color:#cceeff;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.61%;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;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.08%;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;"> 16,863</p></td><td style="background-color:#cceeff;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="background-color:#cceeff;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;margin:0pt;"><span style="font-size:9pt;visibility:hidden;"></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.04%;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> | |
CY2021Q1 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Share Based Awards Other Than Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
|
14062000 | |
CY2021Q1 | bld |
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Outstanding Weighted Average Remaining Vesting Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingVestingPeriod
|
P1Y4M24D | |
CY2021Q1 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Stock Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
|
2801000 | |
CY2021Q1 | bld |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Remaining Vesting Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageRemainingVestingPeriod
|
P1Y3M18D | |
CY2021Q1 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
|
16863000 | |
CY2021Q1 | us-gaap |
Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
|
49284 | |
CY2020Q1 | us-gaap |
Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
|
261555 | |
CY2021Q1 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
9856000 | |
CY2020Q1 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
14127000 | |
CY2021Q1 | us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
700000 | |
CY2020Q1 | us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
200000 | |
CY2021Q1 | bld |
Accrued Salaries Wages And Commissions Current
AccruedSalariesWagesAndCommissionsCurrent
|
39131000 | |
CY2020Q4 | bld |
Accrued Salaries Wages And Commissions Current
AccruedSalariesWagesAndCommissionsCurrent
|
34584000 | |
CY2021Q1 | us-gaap |
Accrued Insurance Current
AccruedInsuranceCurrent
|
22414000 | |
CY2020Q4 | us-gaap |
Accrued Insurance Current
AccruedInsuranceCurrent
|
22007000 | |
CY2021Q1 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
13124000 | |
CY2020Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
129000 | |
CY2021Q1 | bld |
Accrued Employee Tax Related Liabilities Current
AccruedEmployeeTaxRelatedLiabilitiesCurrent
|
12666000 | |
CY2020Q4 | bld |
Accrued Employee Tax Related Liabilities Current
AccruedEmployeeTaxRelatedLiabilitiesCurrent
|
12603000 | |
CY2021Q1 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
8091000 | |
CY2020Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
6542000 | |
CY2021Q1 | bld |
Accrued Sales And Property Taxes Current
AccruedSalesAndPropertyTaxesCurrent
|
7451000 | |
CY2020Q4 | bld |
Accrued Sales And Property Taxes Current
AccruedSalesAndPropertyTaxesCurrent
|
6939000 | |
CY2021Q1 | bld |
Accrued Customer Rebates Current
AccruedCustomerRebatesCurrent
|
4720000 | |
CY2020Q4 | bld |
Accrued Customer Rebates Current
AccruedCustomerRebatesCurrent
|
6191000 | |
CY2021Q1 | us-gaap |
Interest Payable Current
InterestPayableCurrent
|
155000 | |
CY2020Q4 | us-gaap |
Interest Payable Current
InterestPayableCurrent
|
3924000 | |
CY2021Q1 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
17194000 | |
CY2020Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
15030000 | |
CY2021Q1 | bld |
Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
|
124946000 | |
CY2020Q4 | bld |
Accrued Liabilities And Employee Related Liabilities Current
AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent
|
107949000 | |
CY2021Q1 | bld |
Performance Bonds Outstanding
PerformanceBondsOutstanding
|
108964000 | |
CY2020Q4 | bld |
Performance Bonds Outstanding
PerformanceBondsOutstanding
|
102534000 | |
CY2021Q1 | bld |
License And Insurance Related And Other Bonds Outstanding
LicenseAndInsuranceRelatedAndOtherBondsOutstanding
|
27716000 | |
CY2020Q4 | bld |
License And Insurance Related And Other Bonds Outstanding
LicenseAndInsuranceRelatedAndOtherBondsOutstanding
|
27633000 | |
CY2021Q1 | bld |
Bonds Outstanding
BondsOutstanding
|
136680000 | |
CY2020Q4 | bld |
Bonds Outstanding
BondsOutstanding
|
130167000 |