XML 60 R46.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Summary of Significant Accounting Policies - Share-Based Compensation (Details) | 12 Months Ended
--- | ---
Dec. 31, 2018
Stock Options | Minimum |
Share-Based Compensation |
Vesting period | 3 years
Stock Options | Maximum |
Share-Based Compensation |
Vesting period | 5 years
Expiration period | 10 years
Service-based conditions | Restricted Stock Awards | Minimum |
Share-Based Compensation |
Vesting period | 3 years
Service-based conditions | Restricted Stock Awards | Maximum |
Share-Based Compensation |
Vesting period | 5 years
Performance-based conditions | Restricted Stock Awards |
Share-Based Compensation |
Vesting period | 3 years
Performance-based conditions | Restricted Stock Awards | Minimum |
Share-Based Compensation |
Expense measurement, payout range (as percent) | 0.00%
Performance-based conditions | Restricted Stock Awards | Maximum |
Share-Based Compensation |
Expense measurement, payout range (as percent) | 200.00%
Market-based conditions | Restricted Stock Awards |
Share-Based Compensation |
Vesting period | 3 years

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 Period which an employee's right to exercise an award is no longer contingent on satisfaction of either a service condition, market condition or a performance condition, 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 (a)(1) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period from grant date that an equity-based award expires, 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 (a)(2) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember
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: | bld_VestingCriteriaAxis=bld_VestingBasedOnServiceMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember
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_VestingCriteriaAxis=bld_VestingBasedOnMarketConditionsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |