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

Long-Term Debt - Senior Notes and Equipment Notes (Details) - USD ($) $ in Thousands | 6 Months Ended |
--- | --- | ---
Jun. 30, 2023 | Dec. 31, 2022
Long-Term Debt |  |
Amount outstanding | $ 1,439,936 | $ 1,457,325
Debt Instrument Redemption Option Two | Prior to March 15, 2024 |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 103.625% |
Debt instrument, conditional redemption, threshold percentage of aggregate principal amount originally issued remains outstanding | 60.00% |
Equipment Notes |  |
Long-Term Debt |  |
Principal amount of debt | $ 41,600 |
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% |
3.625% Senior Notes |  |
Long-Term Debt |  |
Interest rate (as a percent) | 3.625% |
Principal amount of debt | $ 400,000 |
3.625% Senior Notes | Change in Control Scenario |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 101.00% |
3.625% Senior Notes | Debt Instrument Redemption Option One | Prior to March 15, 2024 |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 100.00% |
3.625% Senior Notes | Debt Instrument Redemption Option Two | Maximum | Prior to March 15, 2024 |  |
Long-Term Debt |  |
Redemption price, percentage of principal amount redeemed | 40.00% |
4.125% Senior Notes |  |
Long-Term Debt |  |
Interest rate (as a percent) | 4.125% |
Principal amount of debt | $ 500,000 |
4.125% Senior Notes | On or after October 15, 2026 |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 102.063% |
4.125% Senior Notes | On or after October 15, 2027 |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 101.375% |
4.125% Senior Notes | On or after October 15, 2028 |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 100.688% |
4.125% Senior Notes | On October 15, 2029 and thereafter |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 100.00% |
4.125% Senior Notes | Prior to October 15, 2026 |  |
Long-Term Debt |  |
Basis spread on treasury rate | 0.50% |
4.125% Senior Notes | Prior to October 15, 2024 |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 104.125% |
Redemption price, percentage of principal amount redeemed | 40.00% |
Debt instrument, conditional redemption, threshold percentage of aggregate principal amount originally issued remains outstanding | 60.00% |
4.125% Senior Notes | Change in Control Scenario |  |
Long-Term Debt |  |
Redemption price as a percentage of principal | 101.00% |

X
- Definition Threshold percentage of aggregate principal amount of the debt instrument originally issued should remain outstanding after redemption under the debt instrument arrangement. + References No definition available. + Details
Name: | bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding
Namespace Prefix: | bld_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage points added to the reference rate to compute the redemption price of the debt instrument. + References No definition available. + Details
Name: | bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate
Namespace Prefix: | bld_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Face (par) amount of debt instrument at time of issuance. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 835 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69B -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69C -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 835 -SubTopic 30 -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2 Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 835 -SubTopic 30 -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8 + Details
Name: | us-gaap_DebtInstrumentFaceAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Contractual interest rate for funds borrowed, under the debt agreement. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.22(a)(1)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_DebtInstrumentInterestRateStatedPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types: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 Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 835 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(f)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 5: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69B -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69C -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69E -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E Reference 8: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69F -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 11: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1B -Subparagraph (h) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1D -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1D -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1D -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1E -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1E -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1E -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1F -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1F -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1F -Subparagraph (b)(1) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1F -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1I -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I + 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 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph e -SubTopic 470 -Topic 942 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3 + Details
Name: | us-gaap_DebtInstrumentRedemptionPricePercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage of principal amount of debt redeemed. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed
Namespace Prefix: | us-gaap_
Data Type: | dtr-types: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 Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(22)) -SubTopic 10 -Topic 210 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69B -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 69C -Publisher FASB -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1D -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 944 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(16)(a)(2)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1 Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 210 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03(16)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (b)(3) -Publisher FASB -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4 + Details
Name: | us-gaap_LongTermDebt
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodOneMember
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_DebtInstrumentAxis=bld_SeniorNotesDue2029Member
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: | srt_StatementScenarioAxis=bld_DebtInstrumentRedemptionOptionOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodTwoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodThreeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodFourMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodFiveMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=bld_DebtInstrumentRedemptionPeriodSixMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=bld_DebtInstrumentRedemptionPeriodSevenMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |