XML 31 R39.htm IDEA: XBRL DOCUMENT
v3.20.1

Basis of Presentation (Details) $ in Thousands | 3 Months Ended
--- | ---
Mar. 31, 2020 USD ($) customer item | Mar. 31, 2019 USD ($) customer
Customer concentration |  |
Number of top customers | 10 |
Number of calendar years in which top customers typically generate minimum specified percentage of revenue | item | 1 |
Minimum percentage of revenues generated by top ten customers | 50.00% |
Revenue | $ | $ 743,243 | $ 661,558
Revenues | Customer concentration | Top ten customers |  |
Customer concentration |  |
Number of top customers | 10 | 10
Percentage of concentration risk | 50.10% | 49.10%
Revenues | Customer concentration | Pipeline Customer [Member] |  |
Customer concentration |  |
Percentage of concentration risk | 11.30% |
Number of customers | 1 |

X
- Definition Represents the minimum percentage of revenue typically generated by specified number of customers in any one calendar year. + References No definition available. + Details
Name: | prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers
Namespace Prefix: | prim_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the number of calendar years in which top customers typically generate minimum specified percentage of revenue. + References No definition available. + Details
Name: | prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue
Namespace Prefix: | prim_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the number of customers who typically contribute accounts receivable in excess of a specified percentage. + References No definition available. + Details
Name: | prim_ConcentrationRiskNumberOfCustomers
Namespace Prefix: | prim_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the number of top customers who typically generate revenue in excess of a specified percentage of total revenues for the entity and consist of a different group of customers in each year. + References No definition available. + Details
Name: | prim_ConcentrationRiskNumberOfTopCustomers
Namespace Prefix: | prim_
Data Type: | xbrli:integerItemType
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_ConcentrationRiskLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 18 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=118260190&loc=d3e13531-108611 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 21 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118260190&loc=d3e13537-108611 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592 + Details
Name: | us-gaap_ConcentrationRiskPercentage1
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 4 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045 + Details
Name: | us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_TopTenCustomersMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_PipelineCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |