XML 60 R49.htm IDEA: XBRL DOCUMENT
v3.23.2

Net Income Per Share - Anti-dilutive common stock equivalents (Details) - shares | 3 Months Ended | 6 Months Ended
--- | --- | ---
Jun. 30, 2023 | Jun. 30, 2022 | Jun. 30, 2023 | Jun. 30, 2022
Anti-dilutive common stock equivalents |  |  |  |
Total anti-dilutive common stock equivalents | 14,801 | 41,837 | 28,590 | 38,479
Restricted Stock Awards | Service-based conditions |  |  |  |
Anti-dilutive common stock equivalents |  |  |  |
Total anti-dilutive common stock equivalents |  | 18,880 | 5,582 | 14,562
Restricted Stock Awards | Market-based conditions |  |  |  |
Anti-dilutive common stock equivalents |  |  |  |
Total anti-dilutive common stock equivalents |  | 82 | 4,467 | 232
Restricted Stock Awards | Performance-based conditions |  |  |  |
Anti-dilutive common stock equivalents |  |  |  |
Total anti-dilutive common stock equivalents |  |  |  | 3,954
Employee Stock Option [Member] |  |  |  |
Anti-dilutive common stock equivalents |  |  |  |
Total anti-dilutive common stock equivalents | 14,801 | 22,875 | 18,541 | 19,731

X
- Definition Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1 + Details
Name: | us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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