XML 54 R43.htm IDEA: XBRL DOCUMENT
v3.20.2

Long-Term Debt - Key Terms of Credit Agreement (Details) - USD ($) $ in Thousands | 6 Months Ended |  |
--- | --- | --- | ---
Jun. 30, 2020 | Mar. 20, 2020 | Dec. 31, 2019
Long-Term Debt |  |  |
Amount outstanding | $ 725,742 |  |
Term Loan Facility |  |  |
Long-Term Debt |  |  |
Amount outstanding | $ 296,250 |  | $ 305,625
Senior Notes |  |  |
Long-Term Debt |  |  |
Interest rate (as a percent) | 5.625% |  | 5.625%
Amount outstanding | $ 400,000 |  | $ 400,000
Equipment Notes |  |  |
Long-Term Debt |  |  |
Principal amount of debt |  |  | 41,600
Amount outstanding | 29,492 |  | 33,525
Equipment notes issued | $ 0 |  |
Debt term | 5 years |  |
Equipment Notes | Minimum |  |  |
Long-Term Debt |  |  |
Interest rate (as a percent) | 2.80% |  |
Equipment Notes | Maximum |  |  |
Long-Term Debt |  |  |
Interest rate (as a percent) | 4.40% |  |
Revolving Facility |  |  |
Long-Term Debt |  |  |
Availability | $ 450,000 |  | $ 250,000
Amended Credit Agreement |  |  |
Long-Term Debt |  |  |
Additional term loan and/or revolver capacity available under incremental facility | $ 300,000 |  |
Scheduled maturity date | Mar. 20, 2025 |  |
Amended Credit Agreement | Minimum |  |  |
Long-Term Debt |  |  |
Commitment fee (as a percent) | 0.15% |  |
Amended Credit Agreement | Maximum |  |  |
Long-Term Debt |  |  |
Commitment fee (as a percent) | 0.275% |  |
Amended Credit Agreement | Term Loan Facility |  |  |
Long-Term Debt |  |  |
Availability | $ 300,000 | $ 300,000 |
Interest rate | 1.75% |  |
Amended Credit Agreement | Senior Notes |  |  |
Long-Term Debt |  |  |
Interest rate | 5.625% |  |
Amended Credit Agreement | Senior Notes | Change in Control Scenario |  |  |
Long-Term Debt |  |  |
Redemption price as a percentage of principal | 101.00% |  |
Amended Credit Agreement | Revolving Facility |  |  |
Long-Term Debt |  |  |
Availability | $ 450,000 | 450,000 |
Sublimit for issuance of letters of credit under Revolving Facility* | 100,000 | 100,000 |
Sublimit for swingline loans under Revolving Facility* | $ 35,000 | $ 35,000 |
Amended Credit Agreement | Base Rate Borrowings | Minimum |  |  |
Long-Term Debt |  |  |
Applicable margin based on total leverage ratio | 0.00% |  |
Amended Credit Agreement | Base Rate Borrowings | Maximum |  |  |
Long-Term Debt |  |  |
Applicable margin based on total leverage ratio | 1.50% |  |
Amended Credit Agreement | LIBOR Rate Borrowings |  |  |
Long-Term Debt |  |  |
Interest rate floor (as a percent) | 0.50% |  |
Amended Credit Agreement | LIBOR Rate Borrowings | Minimum |  |  |
Long-Term Debt |  |  |
Applicable margin based on total leverage ratio | 1.00% |  |
Amended Credit Agreement | LIBOR Rate Borrowings | Maximum |  |  |
Long-Term Debt |  |  |
Applicable margin based on total leverage ratio | 2.50% |  |
Federal Funds Rate | Amended Credit Agreement | Base Rate Borrowings |  |  |
Long-Term Debt |  |  |
Basis spread | 0.50% |  |
LIBOR | Amended Credit Agreement | Base Rate Borrowings |  |  |
Long-Term Debt |  |  |
Basis spread | 1.00% |  |
Maturity of the reference rate | 1 month |  |

X
- Definition Represents the applicable margin based on the total leverage ratio per the terms of the credit agreement. + References No definition available. + Details
Name: | bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio
Namespace Prefix: | bld_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The debt instrument percentage rate floor. + References No definition available. + Details
Name: | bld_DebtInstrumentInterestRatePercentageFloor
Namespace Prefix: | bld_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The maturity of the reference rate. + References No definition available. + Details
Name: | bld_DebtInstrumentReferenceRateMaturityPeriod
Namespace Prefix: | bld_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the additional borrowing capacity available, subject to certain conditions. + References No definition available. + Details
Name: | bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Represents the sublimit available for the issuance of letters of credit under the credit facility. + References No definition available. + Details
Name: | bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Represents the sublimit available for swingline loans under the credit facility. + References No definition available. + Details
Name: | bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The cash inflow associated with the execution of equipment notes supported by a written promise to pay an obligation. + References No definition available. + Details
Name: | bld_ProceedsFromExecutionOfEquipmentNotes
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Percentage points added to the reference rate to compute the variable rate on the debt instrument. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 20 -Section 50 -Paragraph 4 -Subparagraph (b)(1) -URI http://asc.fasb.org/extlink&oid=109500613&loc=SL6031897-161870 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(16)) -URI http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(22)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03(16)) -URI http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878 + Details
Name: | us-gaap_DebtInstrumentCarryingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Face (par) amount of debt instrument at time of issuance. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 835 -SubTopic 30 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=114775744&loc=d3e28551-108399 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 835 -SubTopic 30 -Section 55 -Paragraph 8 -URI http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400 + Details
Name: | us-gaap_DebtInstrumentFaceAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 20 -Section 50 -Paragraph 6 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109500613&loc=SL6036836-161870 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 835 -SubTopic 30 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=114775744&loc=d3e28551-108399 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.22(a)(1)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_DebtInstrumentInterestRateEffectivePercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Contractual interest rate for funds borrowed, under the debt agreement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.22(a)(1)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_DebtInstrumentInterestRateStatedPercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Date when the debt instrument is scheduled to be fully repaid, in CCYY-MM-DD format. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.22(a)(2)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 820 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (bbb)(2) -URI http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258 + Details
Name: | us-gaap_DebtInstrumentMaturityDate
Namespace Prefix: | us-gaap_
Data Type: | xbrli:dateItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage price of original principal amount of debt at which debt can be redeemed by the issuer. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 470 -Section 50 -Paragraph 3 -Subparagraph e -URI http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823 + Details
Name: | us-gaap_DebtInstrumentRedemptionPricePercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentTerm
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.19(b),22(b)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility. + References No definition available. + Details
Name: | us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=us-gaap_SecuredDebtMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=us-gaap_SeniorNotesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LongtermDebtTypeAxis=bld_EquipmentNotesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShortTermDebtTypeAxis=us-gaap_RevolvingCreditFacilityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentAxis=bld_AmendedCreditAgreementMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_StatementScenarioAxis=bld_ChangeInControlScenarioMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CreditFacilityAxis=bld_BaseRateBorrowingsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CreditFacilityAxis=bld_LIBORRateBorrowingsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_VariableRateAxis=bld_FederalFundsRateMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |