XML 69 R55.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Long-Term Debt - Key Terms of Credit Agreement (Details) - USD ($) $ in Thousands |  |  | 12 Months Ended |  |  |
--- | --- | --- | --- | --- | --- | ---
May 01, 2018 | Apr. 25, 2018 | Dec. 31, 2018 | Mar. 28, 2018 | Dec. 31, 2017 | May 05, 2017
Long-Term Debt |  |  |  |  |  |
Amount outstanding |  |  | $ 751,955 |  |  |
Term Loan Facility |  |  |  |  |  |
Long-Term Debt |  |  |  |  |  |
Amount outstanding |  |  | 327,500 |  |  |
Senior Notes 5.625% |  |  |  |  |  |
Long-Term Debt |  |  |  |  |  |
Amount outstanding |  |  | 400,000 |  |  |
Equipment Notes |  |  |  |  |  |
Long-Term Debt |  |  |  |  |  |
Amount outstanding |  |  | 24,455 |  |  |
Equipment notes issued |  |  | $ 26,600 |  |  |
Debt term |  |  | 5 years |  |  |
Equipment Notes | Minimum |  |  |  |  |  |
Long-Term Debt |  |  |  |  |  |
Interest rate |  |  | 3.90% |  |  |
Equipment Notes | Maximum |  |  |  |  |  |
Long-Term Debt |  |  |  |  |  |
Interest rate |  |  | 4.40% |  |  |
Revolving Facility |  |  |  |  |  |
Long-Term Debt |  |  |  |  |  |
Availability |  |  | $ 250,000 |  | $ 250,000 |
Amended Credit Agreement |  |  |  |  |  |
Long-Term Debt |  |  |  |  |  |
Maximum amount of senior notes that may be issued under the credit agreement |  |  |  | $ 500,000 |  |
Additional term loan and/or revolver capacity available under incremental facility |  |  | $ 200,000 |  |  |
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 |  |  |  |  |  |
Proceeds from delayed-draw term loan | $ 100,000 |  |  |  |  |
Availability |  |  | $ 250,000 |  |  |
Additional delayed draw term loan |  |  | 100,000 |  |  |
Maximum borrowing capacity including delayed draw feature |  |  | $ 350,000 |  |  |
Amount outstanding |  |  |  |  |  | $ 250,000
Amended Credit Agreement | Senior Notes 5.625% |  |  |  |  |  |
Long-Term Debt |  |  |  |  |  |
Proceeds from issuance of senior notes |  | $ 400,000 |  |  |  |
Interest rate |  | 5.625% |  |  |  |
Amended Credit Agreement | Senior Notes 5.625% | 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 |  |  | $ 250,000 |  |  |
Sublimit for issuance of letters of credit under Revolving Facility* |  |  | 100,000 |  |  |
Sublimit for swingline loans under Revolving Facility* |  |  | $ 20,000 |  |  |
Interest rate |  |  | 3.59% |  |  |
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 | 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 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 The additional borrowing capacity available through delayed draw feature. + References No definition available. + Details
Name: | bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The maximum borrowing capacity under the line of credit facility including the delayed draw. + References No definition available. + Details
Name: | bld_LineOfCreditFacilityMaximumBorrowingCapacityIncludingDelayedDraw
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 maximum amount of senior notes that may be issued under the credit agreement. + References No definition available. + Details
Name: | bld_MaximumAmountOfSeniorNotesAvailableForIssuance
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Proceeds from delayed-draw term loan. + References No definition available. + Details
Name: | bld_ProceedsFromDelayedDrawTermLoan
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

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=6879938&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 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 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
- Definition The cash inflow from the issuance of long-term debt that is not secured by collateral. Excludes proceeds from tax exempt unsecured debt. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 14 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=109223946&loc=d3e3255-108585 + Details
Name: | us-gaap_ProceedsFromIssuanceOfUnsecuredDebt
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
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: | us-gaap_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: |