XML 54 R40.htm IDEA: XBRL DOCUMENT
v3.21.2

Revenue (Narrative) (Details) - USD ($) $ in Millions | 3 Months Ended | 9 Months Ended
--- | --- | ---
Sep. 30, 2021 | Sep. 30, 2020 | Sep. 30, 2021 | Sep. 30, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |  |
Net revenue recognized related to performance obligations satisfies (or partially satisfied) in prior periods | $ 2.1 | $ 30.4 | $ 37.1 | $ 71.3
Civil |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |  |
Remaining performance obligations revenue amount | 4,400.0 | 5,100.0 | $ 4,400.0 | 5,100.0
Civil | Minimum |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |  |
Remaining performance obligations revenue period |  |  | 3 years |
Civil | Maximum |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |  |
Remaining performance obligations revenue period |  |  | 5 years |
Building |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |  |
Remaining performance obligations revenue amount | 1,800.0 | 1,900.0 | $ 1,800.0 | 1,900.0
Specialty Contractors |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |  |
Remaining performance obligations revenue amount | $ 1,400.0 | $ 1,900.0 | $ 1,400.0 | $ 1,900.0
Building and Specialty Contractors | Minimum |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |  |
Remaining performance obligations revenue period |  |  | 1 year |
Building and Specialty Contractors | Maximum |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |  |
Remaining performance obligations revenue period |  |  | 3 years |

X
- Definition Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Range + References No definition available. + Details
Name: | tpc_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriodRange
Namespace Prefix: | tpc_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12A -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL108322424-203045 + Details
Name: | us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=tpc_CivilMember
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_StatementBusinessSegmentsAxis=tpc_BuildingGroupMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=tpc_SpecialtyContractorsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=tpc_BuildingAndSpecialtyContractorsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |