XML 50 R36.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Revenue (Narrative) (Details) $ in Billions | 9 Months Ended
--- | ---
Sep. 30, 2018 USD ($)
Civil [Member] |
Revenue, Remaining Performance Obligation, Amount | $ 4.2
Civil [Member] | Minimum [Member[ |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Range | 3 years
Civil [Member] | Maximum [Member] |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Range | 5 years
Building [Member] |
Revenue, Remaining Performance Obligation, Amount | $ 2.1
Specialty Contractors [Member] |
Revenue, Remaining Performance Obligation, Amount | $ 1.7
Building And Specialty Contractors [Member] | Minimum [Member[ |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Range | 1 year
Building And Specialty Contractors [Member] | Maximum [Member] |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Range | 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 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=109196051&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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: |