XML 82 R68.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Share-Based Compensation - Activity (Details) - USD ($) |  |  |  | 12 Months Ended
--- | --- | --- | --- | ---
Feb. 19, 2018 | Feb. 21, 2017 | Feb. 22, 2016 | Dec. 31, 2018 | Dec. 31, 2017
Unrecognized share-based compensation expense |  |  |  |  |
Restricted stock awards, Unrecognized compensation expense |  |  |  | $ 8,589,000 |
Restricted stock awards, Weighted average remaining vesting period |  |  |  | 9 months 18 days |
Stock options, Unrecognized compensation expense |  |  |  | $ 2,929,000 |
Stock options, Weighted average remaining vesting period |  |  |  | 9 months 18 days |
Total unrecognized compensation expense related to unvested awards |  |  |  | $ 11,518,000 |
Restricted Stock Awards |  |  |  |  |
Restricted Stock Awards, Number of Shares |  |  |  |  |
Balance at beginning of period (in shares) |  |  |  | 591,200 |
Granted (in shares) |  |  |  | 107,300 |
Converted/Exercised (in shares) |  |  |  | (144,800) |
Forfeited (in shares) |  |  |  | (54,500) |
Balance at end of period (in shares) |  |  |  | 499,200 | 591,200
Restricted Stock Awards, Weighted Average Grant Date Fair Value Per Share |  |  |  |  |
Balance at beginning of period (in dollars per share) |  |  |  | $ 30.92 |
Granted (in dollars per share) |  |  |  | 85.43 |
Converted/Exercised (in dollars per share) |  |  |  | 26.81 |
Forfeited (in dollars per share) |  |  |  | 40.74 |
Balance at end of period (in dollars per share) |  |  |  | $ 41.29 | $ 30.92
Stock Options |  |  |  |  |
Stock Options, Number of Shares |  |  |  |  |
Balance at beginning of period (in shares) |  |  |  | 683,500 |
Granted (in shares) |  |  |  | 77,300 |
Converted/Exercised (in shares) |  |  |  | (134,500) |
Forfeited (in shares) |  |  |  | (14,900) |
Balance at end of period (in shares) |  |  |  | 611,400 | 683,500
Stock Options, Weighted Average Grant Date Fair Value Per Share |  |  |  |  |
Balance at beginning of period (in dollars per share) |  |  |  | $ 11.13 |
Granted (in dollars per share) |  |  |  | 27.44 |
Converted/Exercised (in dollars per share) |  |  |  | 10.91 |
Forfeited (in dollars per share) |  |  |  | 16.98 |
Balance at end of period (in dollars per share) |  |  |  | 13.10 | $ 11.13
Stock Options, Weighted Average Exercise Price Per Share |  |  |  |  |
Balance at beginning of period (in dollars per share) |  |  |  | 28.97 |
Granted (in dollars per share) |  |  |  | 74.50 |
Converted/Exercised (in dollars per share) |  |  |  | 28.37 |
Forfeited (in dollars per share) |  |  |  | 45.46 |
Balance at end of period (in dollars per share) |  |  |  | $ 34.45 | $ 28.97
Stock options, additional disclosures |  |  |  |  |
Aggregate intrinsic value |  |  |  | $ 8,685,800 | $ 31,969,700
Converted/Exercised aggregate intrinsic value |  |  |  | $ 6,246,700 |
Exercisable, Number of shares |  |  |  | 203,800 |
Exercisable, Weighted Average Grant Date Fair Value Per Share |  |  |  | $ 10.65 |
Exercisable Weighted Average Exercise Price Per Share |  |  |  | $ 27.55 |
Exercisable, Aggregate Intrinsic Value |  |  |  | $ 3,570,900 |
Weighted average remaining contractual term for vested stock options |  |  |  | 6 years 8 months 12 days |
Assumptions used to estimate the fair values of the awards granted: |  |  |  |  |
Risk free interest rate (as a percent) |  |  |  | 2.78% | 2.18%
Expected volatility using historical return volatility and implied volatility (as a percent) |  |  |  | 32.50% | 35.00%
Expected life (in years) |  |  |  | 6 years | 6 years
Dividend yield (as a percent) |  |  |  | 0.00% | 0.00%
Weighted-average estimated fair value of options granted during the year (in dollars per share) |  |  |  | $ 27.44 | $ 14.44
Market-based conditions | Restricted Stock Awards |  |  |  |  |
Assumptions used to estimate the fair values of the awards granted: |  |  |  |  |
Measurement period (years) |  |  |  | 2 years 10 months 13 days | 2 years 10 months 10 days
Risk free interest rate (as a percent) |  |  |  | 2.36% | 1.46%
Dividend yield (as a percent) |  |  |  | 0.00% | 0.00%
Estimated fair value of awards granted (in dollars per share) |  |  |  | $ 103.31 | $ 50.06
Performance-based conditions | Restricted Stock Awards |  |  |  |  |
Restricted stock awards, additional disclosures |  |  |  |  |
Grant date fair value | $ 2,247,000 | $ 1,962,000 | $ 1,899,000 |  |
Performance-based conditions | Restricted Stock Awards | Payout Range-0% |  |  |  |  |
Restricted stock awards, additional disclosures |  |  |  |  |
Payout range (as a percent) | 0.00% | 0.00% | 0.00% |  |
Performance-based conditions | Restricted Stock Awards | Payout Range-25% |  |  |  |  |
Restricted stock awards, additional disclosures |  |  |  |  |
Payout range (as a percent) | 25.00% | 25.00% | 25.00% |  |
Related expenses | $ 562,000 | $ 491,000 | $ 475,000 |  |
Performance-based conditions | Restricted Stock Awards | Payout Range-100% |  |  |  |  |
Restricted stock awards, additional disclosures |  |  |  |  |
Payout range (as a percent) | 100.00% | 100.00% | 100.00% |  |
Related expenses | $ 2,247,000 | $ 1,962,000 | $ 1,899,000 |  |
Performance-based conditions | Restricted Stock Awards | Payout Range-200% |  |  |  |  |
Restricted stock awards, additional disclosures |  |  |  |  |
Payout range (as a percent) | 200.00% | 200.00% | 200.00% |  |
Related expenses | $ 4,494,000 | $ 3,924,000 | $ 3,798,000 |  |

X
- Definition The number of equity-based payment instruments, excluding stock (or unit) options, that were converted/exercised during the reporting period. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod
Namespace Prefix: | bld_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were converted/exercised. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue
Namespace Prefix: | bld_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average remaining vesting period for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingVestingPeriod
Namespace Prefix: | bld_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the estimated fair value of the awards granted. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted
Namespace Prefix: | bld_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition The remaining measurement period of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod
Namespace Prefix: | bld_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the share based compensation arrangement by share based payment award fair value assumptions weighted average estimated fair value of options granted during the period. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsWeightedAverageEstimatedFairValueOfOptionsGranted
Namespace Prefix: | bld_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average grant-date fair value of options converted/exercised. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue
Namespace Prefix: | bld_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Grant Date Fair Value. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue
Namespace Prefix: | bld_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average remaining vesting period for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageRemainingVestingPeriod
Namespace Prefix: | bld_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the total fair value of equity-based awards, other then options, granted during the reporting period. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The payout range expressed as a percentage of the grant date fair value related to performance-based awards. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage
Namespace Prefix: | bld_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition The compensation expense based on the payout range related to performance-based awards. + References No definition available. + Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses
Namespace Prefix: | bld_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Unrecognized cost of unvested share-based compensation awards. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (i) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- References No definition available. + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Unrecognized cost of unvested share-based awards, other than options, awarded to employees as compensation. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (i) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Unrecognized cost of unvested options awarded to employees as compensation. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (i) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(3) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(3) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(1) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(1) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2)(i)-(ii) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The weighted average fair value of nonvested awards on equity-based plans excluding option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, revenue or profit achievement stock award plan) for which the employer is contingently obligated to issue equity instruments or transfer assets to an employee who has not yet satisfied service or performance criteria necessary to gain title to proceeds from the sale of the award or underlying shares or units. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2)(i)-(ii) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (f)(2)(iii) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (f)(2)(ii) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The risk-free interest rate assumption that is used in valuing an option on its own shares. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (f)(2)(iv) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iii) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iii) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (d)(2) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(3) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Gross number of share options (or share units) granted during the period. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (d)(1) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Number of options outstanding, including both vested and non-vested options. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(i)-(ii) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(i) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | instant

X
- References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average price at which option holders acquired shares when converting their stock options into shares. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Expected term of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (f)(2)(i) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 14.D.2) -URI http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Weighted average grant-date fair value of non-vested options forfeited. + References No definition available. + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average grant-date fair value of non-vested options outstanding. + References No definition available. + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | instant

X
- References No definition available. + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (e)(2) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of share options (or share units) exercised during the current period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(2) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -URI http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770 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(28)) -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 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644 + Details
Name: | us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | bld_VestingCriteriaAxis=bld_VestingBasedOnMarketConditionsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | bld_VestingCriteriaAxis=bld_VestingBasedOnPerformanceMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis=bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |