XML 67 R53.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Summary of Significant Accounting Policies - Customer Concentration (Details) - Revenues - Customer concentration - Top ten customers | 12 Months Ended
--- | ---
Dec. 31, 2018 customer item
Customer concentration |
Number of top customers | customer | 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%

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 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
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueServicesNetMember
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: |