XML 51 R38.htm IDEA: XBRL DOCUMENT
v3.19.1

Revenue (Narrative) (Details) - USD ($) $ in Millions | 3 Months Ended |
--- | --- | ---
Mar. 31, 2019 | Mar. 31, 2018
Civil [Member] |  |
Revenue, Remaining Performance Obligation, Amount | $ 4.5 | $ 4.5
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.0 | 2.2
Specialty Contractors [Member] |  |
Revenue, Remaining Performance Obligation, Amount | $ 1.8 | $ 1.8
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: |